[置顶] 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即可!


posted @ 2016-01-06 16:17  crazy_itman  阅读(2560)  评论(0编辑  收藏  举报