Jasig CAS身份验证重定向循环

时间:2014-06-06 13:32:10

标签: django jsp single-sign-on cas

我有六个应用程序,我使用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。

错误

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

你使用&#34; django-cas-client&#34;作为身份验证后端?

我不确定您是否需要在JaSig CAS端配置任何内容以进行单点注销。它是一种退出方式,您可以自由使用它。

您可能想要学习这些文章: