我有六个应用程序,我使用Jasig CAS对它们进行身份验证。 Jasig CAS的单点登录对我来说非常有用。
另一方面,单点注销对我不起作用。当我从其中一个应用程序注销时,我无法从其根域访问其他应用程序,但我可以使用它们的子服务访问它们。
示例:
APP1 = http://domain.com/app1
APP2 = http://domain.com/app2
如果我从APP1注销,我无法到达http://domain.com/app2但我可以到达http://domain.com/app2/someservice
的信息:
我正在使用ProxyPass将应用程序定向到Jasig CAS。
在Apache CAS web.xml中,我添加了:
<filter>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
我的应用程序基于Jsp和Django。
CAS版本:3.3.10
---- ---- UPDATE
我设法通过将应用程序配置的“满足”参数从“任何”更改为“全部”来解决6个应用程序中的4个。
在Tomcat上部署了6个应用程序中的2个,并使它们在apache上运行,使用了mod_jk。当我尝试输入任何这些应用程序时,我收到重定向循环错误。因为
1-)来自CAS的应用程序请求票据生成票据
2-)CAS提供票证生成票据
3-)应用程序重新发送票证生成票以获取票证
4-)CAS重定向到应用程序的主要开始页面
5-)回到状态1
当我查看cas.log文件时,我看到了
未设置FormObjectClass。使用带有formObjectName凭据和验证器org.jasig.cas.validation.UsernamePasswordCredentialsValidator的默认类org.jasig.cas.authentication.principal.UsernamePasswordCredentials。
错误
有什么建议吗?
答案 0 :(得分:0)
你使用&#34; django-cas-client&#34;作为身份验证后端?
我不确定您是否需要在JaSig CAS端配置任何内容以进行单点注销。它是一种退出方式,您可以自由使用它。
您可能想要学习这些文章: