cas單點登錄出現的重定向循環問題解決方案

先描述下出現的問題,截圖如下:



出現該問題的原因可以通過F12查看Network找到,即http和https兩個協議開頭的url在不停的跳轉,最後就出現了上圖所示的重定向循環錯誤,導致頁面崩潰。


解決方案很簡單:分爲兩個步驟:

1、製作證書並通過配置讓tomcat支持https協議;

2、cas客戶端使用的幾個url中把相應的http改爲https,以及http的8080改爲https的8443

具體操作如下:

1、在命令提示符窗口,進入Tomcat目錄,執行以下命令: 
keytool -genkey -alias cas -keyalg RSA -keypass 123456 -storepass 123456 -keystore c:/cas.keystore -validity 36500 
通過以上步驟生成cas.keystore證書文件 

將servlet.xml以下的的註釋打開

<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->   
<Connector protocol="org.apache.coyote.http11.Http11Protocol" port="8443" maxHttpHeaderSize="8192"   
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  enableLookups="false" disableUploadTimeout="true"   
    acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"                    
    keystoreFile="c:/cas.keystore"  keystorePass="changeit"/> 

 
到這一步訪問https://localhost:8443/ 

一般Tomcat默認的SSL端口號是8443,但是對於SSL標準端口號是443,這樣在訪問網頁的時候,直接使用https而不需要輸入端口號就可以訪問,如https://localhost/ 

2、修改cas客戶端:找到應用的web.xml中所有http://localhost:8080的字符串,替換成https://localhost:8443即可!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章