900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 基于CAS实现单点登录(SSO):配置CAS服务端的数据库查询认证机

基于CAS实现单点登录(SSO):配置CAS服务端的数据库查询认证机

时间:2021-03-28 07:15:29

相关推荐

基于CAS实现单点登录(SSO):配置CAS服务端的数据库查询认证机

数据库|mysql教程

基于,CAS,实现,单点,登录,SSO,配置,服务,数据库,

数据库-mysql教程

app在线源码,ubuntu启动引导类型,树莓派爬虫速度,php业务管理,seo334lzw

[一]、概述 继前面介绍过 基于 CAS 实现 单点登录 ( SSO )的 实例演示 ,演示过程中服务端认证机制采用的是测试环境的默认配置,本文将重点演示如何通过查询数据库,对用户名和密码进行相关的认证配置。 [二]、演示环境 基本环境同: 基于 CAS 实现 单点登

闲来土豪金源码,vscode添加火狐,查看ubuntu启动顺序,tomcat删除示例,sqlite 亿 查找,多选下拉框 插件,react前端组件化框架,爬虫 抢菜,php 韩顺平,什么是seo软件,政府机关专题网站源码,手机淘宝放大网页图片格式,emlog 响应 模板,页面的特效代码,bbs论坛管理系统性能要求,wnsr源码程序lzw

php会计源码,手机投影电脑Ubuntu,爬虫的生活日记,PHP弹出说明,seo人才信息lzw

[一]、概述

继前面介绍过基于CAS实现单点登录(SSO)的实例演示,演示过程中服务端认证机制采用的是测试环境的默认配置,本文将重点演示如何通过查询数据库,对用户名和密码进行相关的认证配置。

[二]、演示环境

基本环境同: 基于CAS实现单点登录(SSO)的实例演示Mysql:5.1.51

[三]、演示步骤

1.创建演示的用户数据

在mysql数据库中创建Database,以 test 为例,然后再创建用户表:sso_t_user,详细SQL如下:

CREATETABLE `sso_t_user` (

`Id` int(11) NOT NULLAUTO_INCREMENT,

`login_name` varchar(50) DEFAULTNULL,

`password` varchar(255) DEFAULTNULL,

PRIMARY KEY (`Id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

向表sso_t_user 中插入如下数据:

INSERTINTO `sso_t_user` VALUES(1,’admin’,’96e79218965eb72c92a549dd5a330112′);

INSERT INTO `sso_t_user` VALUES (2,’user’,’96e79218965eb72c92a549dd5a330112′);

Tips:

密码以MD5 加密后存放数据库中为例

“111111”的MD5值为:“96e79218965eb72c92a549dd5a330112”

2.修改cas服务端配置

在%tomcat_cas%/webapps/cas/WEB_INF/deployerConfigContext.xml 找到如下信息:

修改成如下:

同时增加datasource和加密处理两个bean的定义:

注意

在配置过程中我遇到了异常:No bean named ‘dataSource’ isdefined,因为dataSource配置到了authenticationManager这个Bean的里面去了

QueryDatabaseAuthenticationHandler是cas-server-support-jdbc提供的查询接口其中一个是通过配置一个SQL 语句查出

密码,与所给密码匹配;

sql语句就是查询哪一张表,本例根据sso_t_user表的login_name字段查询密码,CAS会匹配用户输入的密码,如果匹配则通过;

passwordEncoder这个是处理密码的加密,如果想要你的应用中数据库保存的是加密过的,比如本例是使用MD5加密的,所以配置了MD5PasswordEncoder这个Handler,cas内置了MD5的功能所以只需要配置一下就可以了;如果在实际应用中使用的是公司自己的加密算法那么就需要自己写一个Handler来处理密码,实现方式也比较简单,创建一个类继承org.jasig.cas.authentication.handler.PasswordEncoder然后在encode方法中加密用户输入的密码然后返回即可。

3.添加相关的jar包

需要在web项目的lib下添加两个包:cas-server-support-jdbc-x.x.x.jar 和 mysql-connector-java-x.x.x-bin.jar(具体版本号根据情况而定)

4.测试认证过程

分别启动已经配置好的三个tomcat分别为:tomcat-cas、tomcat-app1、tomcat-app2.

此时在cas-server认证界面输入:admin/111111,需要和数据库中查询到的密码验证匹配后才能登陆系统。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。