shiro+SSM不同身份的用户退出到不同的登录页面
1.在shiro文件中加入bean,类关联为org.apache.shiro.web.filter.authc.LogoutFilter,取名要和下面的对应,重定向的名字要和对应的一样
<bean id="logoutFilter" class="org.apache.shiro.web.filter.authc.LogoutFilter"><property name="redirectUrl" value="/admin" /></bean>
2.在shiro配置文件中加入logoutFilter,这个名字是可以随便取的,我这里取名adminlogout
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"><property name="securityManager" ref="securityManager" /><!-- loginUrl认证提交地址,如果没有认证将会请求此地址进行认证,请求此地址将由formAuthenticationFilter进行表单认证 --><property name="loginUrl" value="/login.action" /><!-- 认证成功统一跳转到first.action,建议不配置,shiro认证成功自动到上一个请求路径 --><!-- <property name="successUrl" value="/first.action"/> --><!-- 通过unauthorizedUrl指定没有权限操作时跳转页面--><property name="unauthorizedUrl" value="/refuse.jsp" /><property name="filters"><map><!-- 将自定义 的FormAuthenticationFilter注入shiroFilter中--><entry key="authc" value-ref="myFormAuthenticationFilte" /><entry key="adminlogout" value-ref="logoutFilter" /></map></property>
<property name="filterChainDefinitions"><value><!-- 对静态资源设置匿名访问 --><!-- 请求 logout.action地址,shiro去清除session-->/logout.action = logout/adminlogout.action = adminlogout<!--权限静态数据进行测试,取消url拦截配置,使用注解授权方式 --><!-- /** = authc 所有url都必须认证通过才可以访问-->/** = authc<!--/** = authc --><!-- /** = anon所有url都可以匿名访问 --></value></property>
4。在springmvc中的Controller类中加入
@RequestMapping("admin")// @RequiresPermissions("admin:admin")public String adminLogin(){return "admin/login";}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: java web网站中使用shiro实现前后台登录功能
- 下一篇: 使用Shiro 实现登录
