Jasig CAS身份验证重定向循环

Skr*_*Skr 7 django jsp cas single-sign-on

我有六个应用程序,我使用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>
Run Code Online (Sandbox Code Playgroud)

我的应用程序基于Jsp和Django.

CAS版本:3.3.10

---- ----更新

通过将应用程序配置的"Satisfy"参数从"any"更改为"all",我设法解决了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.

错误

有什么建议 ?

Art*_*yan 0

您使用“django-cas-client”作为身份验证后端吗?

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

您可能想研究这些文章: