SSO (Single Sign-on)
1.原理:将所有系统的登录验证统一,只需登录一次即可访问多个系统。
2.角色:
User(多个)
Web应用(多个)
SSO认证中心(一个) --登录都在 SSO 认证中心进行。
3.原则:
所有的登录都在 SSO 认证中心进行。
SSO 认证中心通过一些方法来告诉 Web 应用当前访问用户究竟是不是通过认证的用户。
SSO 认证中心和所有的 Web 应用建立一种信任关系。
4.CAS 是实现SSO的开源框架之一,本文只讨论CAS
(1).CAS 的结构体系
CAS Server 负责完成对用户信息的认证,需要单独部署,CAS Server 会处理用户名 / 密码等凭证 (Credentials) 。
CAS Client 部署在客户端,当有对本地 Web 应用受保护资源的访问请求,并且需要对请求方进行身份认证,重定向到 CAS Server 进行认证。
5.实战配置
准备:tomcat、jdk、cas-client-java-2.1.1.zip、cas-server-3.5.2-release.zip、cas-server-support-jdbc-3.4.12.jar、mysql-connector-java-5.1.23-bin.jar
配置tomcat的https环境
D:\ProgramFiles\Java\jdk1.7.0_71\bin 进入jre下,因为要用keytool命令。
keytool -v -genkey -alias tomcat -keyalg RSA -storepass changeit -keystore e:\keys\tomcat.keystore -validity 3600
keytool -export -trustcacerts -alias tomcat -file e:\keys\tomcat.cer -keystore e:\keys\tomcat.keystore -storepass changeit
keytool -import -trustcacerts -alias tomcat -file e:\keys\tomcat.cer -keystore "D:\ProgramFiles\Java\jdk1.7.0_71\jre\lib\security\cacerts" -storepass changeit
补充:
keytool -list -v -keystore "C:\Program Files\Java\jre7\lib\security\cacerts"