Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 使用ApacheShiro和CAS为Webapp重定向SSO上的循环_Jsf_Cas_Shiro - Fatal编程技术网

Jsf 使用ApacheShiro和CAS为Webapp重定向SSO上的循环

Jsf 使用ApacheShiro和CAS为Webapp重定向SSO上的循环,jsf,cas,shiro,Jsf,Cas,Shiro,我正在开发一个典型的Web应用程序,但通过Shiro和JASIG CAS SSO执行身份验证和授权。我的应用程序是一个运行在Tomcat7上的JSF2WebApp。我已经启用了Shiro,在我的Shiro配置中,我已经连接到了CAS领域。一切都很好。。。也就是说,web应用程序运行良好,shiro正在重定向到CAS登录页面。反过来,CAS将我重定向回最初请求的URL那么什么都不会发生我得到一个重定向循环 https://myhost:8443/gdsicache/secured/index?ti

我正在开发一个典型的Web应用程序,但通过Shiro和JASIG CAS SSO执行身份验证和授权。我的应用程序是一个运行在Tomcat7上的JSF2WebApp。我已经启用了Shiro,在我的Shiro配置中,我已经连接到了CAS领域。一切都很好。。。也就是说,web应用程序运行良好,shiro正在重定向到CAS登录页面。反过来,CAS将我重定向回最初请求的URL那么什么都不会发生我得到一个重定向循环

https://myhost:8443/gdsicache/secured/index?ticket=ST-37-L2N7SCVtHxHWENqBfpOY-cas01.example.org
从链接中可以看到:我被重定向到请求的安全资源
https://myhost/gdsicache/secured/index
,我也得到了一张罚单,但结果却成了一个循环


有人知道为什么流会以重定向循环结束吗?我不再进行任何重定向,因为我的Web.xml文件中除了shiro筛选器之外没有任何其他筛选器。

此重定向循环通常是由JVM(主要是客户机JVM)无法识别的服务器证书引起的。如果应用程序与服务器(尤其是JVM)分离,则应确保您拥有CA颁发的导入根证书、中间证书(有时是交叉证书)。否则,CAS客户端将执行循环,因为它无法识别服务器上的证书

请注意,引起问题的不是浏览器证书,而是JVM

另外,您可能还需要将根证书、交叉证书(以及某些交叉证书)导入CAS服务器JVM