单点登录系统 CAS
什么是单点登陆?
- 单点登录(Single Sign On),简称为 SSO。一个项目通常有很多的子系统,在A子系统登陆后 无需在重复登陆B子系统 简称单点登陆。
什么是 CAS
- CAS Server 和 CAS Client。CAS Server 需要独立部署,CAS Client 负责处理对客户端受保护资源的访问请求,需要登
录时,重定向到 CAS Server
CAS 服务端部署
1 .在这个目录下面E:\CAS\source\cas-server-4.0.0-release\cas-server-4.0.0\modules 目录中cas-server-webapp-4.0.0.war 修改名字后放入到tomcat webapps目录下面 ,运行tomcat容器
2. 输入 http://localhost:8080/cas/login 可以看到登陆的界面 默认用户名/密码是casuser /Mellon
3.添加用户名字还有密码 注意配置文件名称,属性位置
CAS 修改服务端部署端口号
如果不希望以8080端口 访问CAS的话,
- 第一步需要修改tomcat容器端口号为9100,
- 第二步需要修改CAS项目的配置文件 修改 cas 的 WEB-INF/cas.properties配置文件中,server.name=http://localhost:9100
CAS 去除Https认证
- 第一步 cas 的 WEB-INF/deployerConfigContext.xml配置文件中,需要增加参数 p:requireSecure=”false”,requireSecure 属性意思为是否需要安全验证,即
HTTPS,false 为不采用
<!-- Required for proxy ticket mechanism. --> <bean id="proxyAuthenticationHandler" class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient" p:requireSecure="false" />
- 第二步 修改 cas 的/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml,参数 p:cookieSecure=”true”,同理为 HTTPS 验证相关,TRUE 为采用 HTTPS 验证,FALSE 为不
采用 https 验证。
参数 p:cookieMaxAge=”-1”,是 COOKIE 的最大生命周期,-1 为无生命周期,即只在当前打开
的窗口有效,关闭或重新打开其它窗口,仍会要求验证。可以根据需要修改为大于 0 的数字,
比如 3600 等,意思是在 3600 秒内,打开任意窗口,都不需要验证。
我们这里将 cookieSecure 改为 false , cookieMaxAge 改为 3600
<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator" p:cookieSecure="false" p:cookieMaxAge="3600" p:cookieName="CASTGC" p:cookiePath="/cas" /> </beans>
- 第三步 修改 cas 的 WEB-INF/spring-configuration/warnCookieGenerator.xml