很多人在学习shiro+cas的时候都会遇到的问题:多次验证或者重复重定向。
先上基本配置:
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager"/>
<!-- 设定角色的登录链接,这里为cas登录页面的链接可配置回调地址 -->
<property name="loginUrl" value="${casUrl}?service=${siteUrl}/login" />
<!--<property name="successUrl" value="/lay" />-->
<property name="unauthorizedUrl" value="/lay" />
<property name="filters">
<util:map>
<!-- 添加casFilter到shiroFilter -->
<entry key="cas" value-ref="casFilter"/>
<entry key="logout" value-ref="logoutFilter"/>
<entry key="authc" value-ref="loginFormAuthenticationFilter"/>
</util:map>
</property>
<property name="filterChainDefinitions">
<v

在使用Shiro与CAS整合时可能会遇到多次验证或重复重定向的问题。解决方法包括:1) 将successUrl配置在casFilter而非shiroFilter,确保认证流程由CAS控制;2) 重写authc和casFilter,避免Shiro预设的跳转路径导致的异常;3) 注意特定场景下权限变更可能导致的登录状态混乱,通过重写authc过滤器提供正确反馈。
最低0.47元/天 解锁文章
1347





