2016-01-21 102 views
4

我在Spring应用程序中使用Jasig CAS。 CAS认证过滤器bean的配置如下所示:重定向到用Jasig CAS登录后请求的最后一个页面

<bean id="authenticationFilter" class="org.jasig.cas.client.authentication.AuthenticationFilter"> 
    <property name="casServerLoginUrl" value="https://localhost:8443/cas/login"/> 
    <property name="service" value="https://localhost:8443/myapp/index.html"/> 
</bean> 

I.e.一方面认证过滤器将重定向到casServerLoginUrl属性中指定的url,另一方面CAS服务器将重定向回service属性中指定的url。

有没有办法让service属性的值变动?我希望它在登录之前包含最后请求的url,并分别在用CAS成功登录后重定向到此URL。

+0

您是否找到了解决此问题的方法? – Ani

回答

1

您可以使用在客户端service参数,当你调用CAS登录页面

https://yourcas.com/cas/login?service=urlservice 

CAS在验证成功后

+1

是的,但如何使这个参数是动态的,即采取不同的值(不只是一个常数值)? –

1

客户端重定向到该网址作为服务参数标识服务在CAS-Server上,它不能被动态改变。 问题是CAS服务器使用服务参数进行标识和作为重定向位置url。

如果您操纵'CasAuthenticationFilter'中的service/redirect-URL,以便您的客户端应用程序将服务参数设置为当前请求的url,那么cas会为该特定url创建一张票据。 这意味着1.票证验证将失败,2. Cas-Server为客户端应用程序上的每个请求页面创建一张新票据。

相关问题