本文主要是介绍CAS Apereo 5.3.16 实现单点登录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.CAS部署
服务端下载地址:cas5.3
1.下载好打开后,复制target/cas/WEB-INF/classes/META-INF/spring.factories
target/cas/WEB-INF/classes/services下的Apereo-10000002.json和HTTPSandIMAPS-10000001.json
target/cas/WEB-INF/classes下的application.properties和log4j2.xml到resources中形成如下结构:
2.然后修改HTTPSandIMAPS-10000001.json文件,添加http
3.修改application.properties文件,注释掉server.ssl三行配置,修改端口号(与tomcat中的保持一致就行)。
4.再增加两行配置:
5.将项目打包生成.war文件,并命名为cas,放在tomcat的webapps目录下,启动tomcat,浏览器输入http://ip:端口号/cas/login,成功后如下图所示:
输入中的默认用户名casuser,密码Mellon,在application.properties文件的cas.authn.accept.users=casuser::Mellon配置中。
登出的url:http://ip:端口号/cas/logout
2.自定义校验——对接数据库
1.在源码的pom.xml中添加jdbc依赖包
<dependency><groupId>org.apereo.cas</groupId><artifactId>cas-server-support-jdbc</artifactId><version>${cas.version}</version></dependency><dependency><groupId>org.apereo.cas</groupId><artifactId>cas-server-support-jdbc-drivers</artifactId><version>${cas.version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.27</version></dependency><dependency><groupId>org.apereo.cas</groupId><artifactId>cas-server-core-authentication-api</artifactId><version>${cas.version}</version></dependency><dependency><groupId>org.apereo.cas</groupId><artifactId>cas-server-support-generic</artifactId><version>${cas.version}</version></dependency>
也可自行下载相关包,放入tomcat\webapps\cas\WEB-INF\lib路径下
2.修改application.properties文件,添加如下配置:
cas.authn.jdbc.query[0].url=jdbc:mysql://ip:端口号/数据库名?serverTimezone=GMT
cas.authn.jdbc.query[0].user=连接数据库的用户名
cas.authn.jdbc.query[0].password=连接数据库的密码
cas.authn.jdbc.query[0].sql=select * from 用户表名 where 用户名字段名称=?
cas.authn.jdbc.query[0].fieldPassword=密码字段名称
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
如果数据库中密码是密文,还可添加如下配置:
cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5 //密码加密算法,内置的有MD5、SHA、HMAC
整体如下图:
3.重启tomcat,输入数据库中的用户名、密码,登陆成功。
3.自定义校验——自定义密码校验
1.自定义加密算法可通过实现PasswordEncoder接口的matches方法实现。
package com.example.cas;import org.springframework.security.crypto.password.PasswordEncoder;public class SHA256Encodeing implements PasswordEncoder{@Overridepublic
这篇关于CAS Apereo 5.3.16 实现单点登录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!