SSO统一单独登录框架CAS
SSO单点登录是用户通过统一的认证后,访问其他应用不需要再次登录认证。
JA-SIG(CAS)
CAS(Central Authentication Service 中心认证服务)是使分布的各个异构系统的认证功能集中在一起,通过公共的认证系统统一管理和验证用户的身份,在CAS系统认证后的用户获得一个凭证,使用此凭证可以访问与CAS集成的其他所有系统。
CAS认证流程

CAS协议提供的接口,CAS-Server提供三个验证服务接口
一、用户登录URL,形如:https://sso.server.com/cas/servlet/login
用户登录时的页面
二、用户凭证校验URL,形如:http://sso.server.com/cas/servlet/validate
验证凭证token的链接
三、用户登出URL,形如:https://sso.server.com/cas/servlet/logout
用户退出时的链接
CAS集成步骤:
资源下载:https://pan.baidu.com/s/18WY3_mZXCE23DkNpn38HqQ
一、配置Window域名解析

编辑hosts文件,添加
127.0.0.1 sso.server.com
127.0.0.1 sso.client1.com
127.0.0.1 sso.client2.com
一、配置安全证书
用JDK自带的keytool工具生成证书
以管理员身份开启CMD窗口
keytool -genkey -alias ssodemo -keyalg RSA -keysize 1024 -keypass 123456 -validity 365 -keystore d:\test\ssokey -storepass 123456

使用Keytool导出证书文件
keytool -export -alias ssodemo -keystore d:\test\ssokey -file d:\test\ssokey.crt -storepass 123456

导入证书d:/test/ssokey.crt到JDK的受信任证书库中
keytool -import -keystore “%JAVA_HOME%”\jre\lib\security\cacerts -file d:\test\ssokey.crt -alias sso

JDK的证书库密码是changeit
二、配置Tomcat支持HTTPS协议
修改%TOMCAT_HOME%/conf/server.xml
三、部署CAS认证服务器
解压下载的软件,存在一个cas.war文件,将其复制到webapps目录下。启动Tomcat访问https://sso.server.com:8443/cas

服务器端系统部署完成,缺少对数据库用户认证的支持,后面补充如何配置数据库用户认证。
四、配置客户端
另行解压一个Tomcat,修改其端口为18080,18009,18005。
五、配置CAS认证集成
将解压的二个Jar包,复制到Web应用的WEB-INF/lib目录下

修改Web.xml,添加CAS过滤器
org.jasig.cas.client.session.SingleSignOutHttpSessionListener CAS Single Sign Out Filter org.jasig.cas.client.session.SingleSignOutFilter CAS Single Sign Out Filter /* CAS Filter org.jasig.cas.client.authentication.AuthenticationFilter casServerLoginUrl https://sso.server.com:8443/cas/login serverName http://sso.client1.com:18080 CAS Filter /* CAS Validation Filter org.jasig.cas.client.validation.Cas10TicketValidationFilter casServerUrlPrefix https://sso.server.com:8443/cas serverName http://sso.client1.com:18080 CAS Validation Filter /* CAS HttpServletRequest Wrapper Filter org.jasig.cas.client.util.HttpServletRequestWrapperFilter CAS HttpServletRequest Wrapper Filter /* CAS Assertion Thread Local Filter org.jasig.cas.client.util.AssertionThreadLocalFilter CAS Assertion Thread Local Filter /*
启动Tomcat,测试单点登录
当访问 http://sso.client1.com:18080时自动跳转到CAS认证服务

输入用户名/密码 casuser/Mellon后自动跳转到http://sso.client1.com:18080

六、集成数据库用户认证
复制下载的三个Jar包到cas.war部署后的WEB-INF/lib目录下

修改WEB-INF/deployerConfigContext.xml

修改:


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
