最近公司项目需要实现单点登录,我选择使用CAS来实现,在进行的过程中,遇到一个问题。
在使用CAS单点登录的时候,如果当前没有登录的话,会跳转到登录页去登陆。 但现在比如说 ,我有一个项目1 ,用户在没有登录的情况下可以进入首页 ,但如果用户已经登陆过了 ,那么在首页可以显示用户信息。也就是说 ,登录或不登录都可以进入这个页面。
但现在的情况是,如果没有登录,会跳转到登录页让用户去登陆。
不知道怎么解决?
最近公司项目需要实现单点登录,我选择使用CAS来实现,在进行的过程中,遇到一个问题。
在使用CAS单点登录的时候,如果当前没有登录的话,会跳转到登录页去登陆。 但现在比如说 ,我有一个项目1 ,用户在没有登录的情况下可以进入首页 ,但如果用户已经登陆过了 ,那么在首页可以显示用户信息。也就是说 ,登录或不登录都可以进入这个页面。
但现在的情况是,如果没有登录,会跳转到登录页让用户去登陆。
不知道怎么解决?
首先CAS是基于filter来保护受访问的资源的,其实你这个需求可以换种角度考虑
就是设置让某些请求直接放行,而涉及到权限操作的才去登录。
OK,这样可能就比较容易想了,你在配置cas客户端的时候,你配置了filter,你就自己写一个filter,然后内容就是拷贝
你配置的原生的filter,然后稍加修改,在你的xml配置中就可以添加一个自定义的属性,类似于:
<init-param>
<param-name>casNotFilterUrlSuffix</param-name>
<param-value>
xxx,yyy,ccc
</param-value>
</init-param>
这样就是xxx,yyy,ccc这种请求不过滤,或者你配置filter的时候,这么写:
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
只有action结尾的请求才过滤。
关于如何修改代码,请百度,一找一大堆。