首页 > 其他分享 >shiro集成CAS遇到的问题

shiro集成CAS遇到的问题

时间:2022-12-21 09:11:35浏览次数:26  
标签:集成 调用 CAS session logout 时候 方法 shiro

O在继承单点登陆的时候shiro和cas服务器中的session的有效时间不一致,这个时候就导致了当shiro的session失效的时候调用到cas服务器的登陆这个时候就会跳转不过去,从而导致了shiro一直在续约session。原来以为他的重定向是因为没有走,后来断点发现走了但是没跳转

 

 下了断点发现这里过期后都会重定向到登陆方法,后来尝试去修改重写这个方法,发现如果是login方法的请求就调用logout请求这个时候就会陷入ABA重复调用的问题,从而导致重定向次数过多的问题,后来不断的断点发现了

 

 

 当shiro的session过期这个时候就会走到onAccessDenied方法里面这个时候我就想到了需要对该方法做出一个处理所以就重写了该方法。

 

 

添加一个过滤器去执行该方法,当会话过期这个时候就调用到onAccessDenied方法。记住这里有个点是为什么我不去使用SecurityUtils.getSubject().logout()方法。因为当session过期的时候这个时候我们在这个方法里去调用到他的logout方法这个时候调用是无效的。不会去执行他对应的方法所以需要我们重定向到logout的具体请求上去

标签:集成,调用,CAS,session,logout,时候,方法,shiro
From: https://www.cnblogs.com/xiaoguifu/p/16995500.html

相关文章