單點登錄系統 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