cas sso 单点登陆 登陆及client获取用户信息(三)

本文介绍了如何在CAS SSO系统中配置数据库身份验证,包括替换默认验证处理类,添加数据源和MD5加密配置。接着,详细讲解了CAS客户端的设置,以及客户端如何获取并解析用户的更多信息,如用户名和其他属性。
摘要由CSDN通过智能技术生成

CAS SSO 代码及依赖的jar下载: http://download.csdn.net/detail/nmsbq/9875610

1.导入项目 cas-server-webapp源码导入到idea或eclipse,pom.xml 加入依赖的jar

<!-- https://mvnrepository.com/artifact/org.jasig.cas/cas-server-support-jdbc -->
<dependency>
   <groupId>org.jasig.cas</groupId>
   <artifactId>cas-server-support-jdbc</artifactId>
   <version>3.5.1</version>
   <scope>runtime</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.22</version>
</dependency>

2.CAS服务器深入配置

上面的初体验仅仅是简单的身份验证,实际应用中肯定是要读取数据库的数据,进一步配置CAS服务器怎么读取数据库的信息进行身份验证。 首先打开deployerConfigContext.xml

配置的地方如下:
找到:SimpleTestUsernamePasswordAuthenticationHandler这个验证Handler,这个是比较简单的,只是判断用户名和密码相同即可通过,这个肯定不能在实际应用中使用,弃用注释掉!

<bean

class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
注释掉后在下面添加下面的代码:

<!-- 变更为JDBC验证方式 -->
<bean id="primaryAuthenticationHandler" class="cn.com.yktour.jdbc.QueryDatabaseAuthenticationHandler">
	<property name="dataSource" ref="dataSource"></property>
	<property name="sql" value="SELECT login_pwd,id,login_name,nick_name from user where login_name = ?"></property>
	<property name="passwordEncoder" ref="MD5PasswordEncoder"></property>
</bean>

新的验证实现类 cn.com.yktour.jdbc.QueryDatabaseAuthenticationHandler

根据用户查询用户的SQL SELECT login_pwd,id,login_name,nick_name from table where login_name = ?

注意 你的密码加密方式如果不是简单的MD5 加密,需要重新实现加密方式

在最外层的</bean> 后面添加 数据源配置和MD5加密配置

<!-- 数据源配置 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
   <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
   <property name="url"><value>jdbc:mysql://数据库连接地址:3306/db?characterEncoding=utf8</value></property>
   <property name="username"><value>账号</value></property>
   <property name="password"><value>密码</value></property>
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值