Cas 服务器 JDBC身份校验

以前的Cas服务器一直使用静态配置的帐号密码进行身份认证,如今要让Cas服务器经过MySQL数据库中的用户信息进行身份认证。java

1、添加数据库访问依赖mysql

 <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->sql

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.12</version>
</dependency>
<!--jdbc认证须要添加cas的依赖包,其余数据源请按类型更换-->
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jdbc</artifactId>
<version>${cas.version}</version>
</dependency>

2、建立数据库表并添加数据数据库

注:数据采用最简、密码明文,要进行加密的话也很简单,文章中不作说明。服务器

3、配置Cas服务器进行数据查询测试

# 查询帐号密码sql,必须包含密码字段
cas.authn.jdbc.query[0].sql=select * from user where userName=?
cas.authn.jdbc.query[0].fieldPassword=password
#cas.authn.jdbc.query[0].fieldExpired=expired 无过时
#cas.authn.jdbc.query[0].fieldDisabled=disabled 无禁用
cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.MySQLDialect
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
cas.authn.jdbc.query[0].url=jdbc:mysql://127.0.0.1:3306/shriodb?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=123456

#加密策略,默认NONE不加密
cas.authn.jdbc.query[0].passwordEncoder.type=NONE

4、运行测试加密

相关文章
相关标签/搜索