shiro中我们可以通过自定义过滤器的方式来实现自己想要的结果,比如想要登陆之后跳转不同页面
@Bean(name = "shiroFilter")
public ShiroFilterFactoryBean getShiroFilterFactoryBean(DefaultWebSecurityManager securityManager,
AuthenticationFilter authenticationFilter) {
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
shiroFilterFactoryBean.setSecurityManager(securityManager);
shiroFilterFactoryBean.setSuccessUrl("/");
shiroFilterFactoryBean.setLoginUrl("/login");
shiroFilterFactoryBean.setUnauthorizedUrl("/login");
filterChainDefinitionMap.put("/login", "authc");
filterChainDefinitionMap.put("/logout", "logout");
filterChainDefinitionMap.put("/", "authc");
Map<String, Filter> filtersMap = new LinkedHashMap<String, Filter>();
filtersMap.put ("authc",new LoginFormAuthenticationFilter());//自定义登陆的过滤器
filtersMap.put ("logout",new LogoutFormAuthenticationFilter());//自定义退出的过滤器
shiroFilterFactoryBean.setFilters (filtersMap);
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
return shiroFilterFactoryBean;
}</

本文介绍了如何在Shiro框架中通过自定义过滤器来实现登录后根据条件跳转不同页面以及退出登录时依据条件跳转不同页面的操作。配置中,'login' 被设为登录链接,而 'authc' 权限过滤器用于处理登录请求。注销过滤器则处理退出登录的请求。通过这样的方式,开发者可以灵活地扩展Shiro的功能。
最低0.47元/天 解锁文章
738

被折叠的 条评论
为什么被折叠?



