Shiro中ShiroFilterFactoryBean的filterChainDefinitionMap配置

通过DefaultShiroFilterChainDefinition的add设置

DefaultShiroFilterChainDefinition chain = new DefaultShiroFilterChainDefinition();
 chain.addPathDefinition("/**", "jwt[permissive]");//jwt[permissive]就是一个普通的名字而已
Map filterChainDefinitionMap=chain.getFilterChainMap();

自定义一个Map设置

Map filterChainDefinitionMap = new LinkedHashMap();
 //注意过滤器配置顺序 不能颠倒
//配置退出 过滤器,其中的具体的退出代码Shiro已经替我们实现了,登出后跳转配置的loginUrl
 filterChainDefinitionMap.put("/logout", "logout");
 // 配置不会被拦截的链接 顺序判断
filterChainDefinitionMap.put("/static/**", "anon");
 filterChainDefinitionMap.put("/ajaxLogin", "anon");
 filterChainDefinitionMap.put("/login", "anon");
 filterChainDefinitionMap.put("/**", "authc");
 //配置shiro默认登录界面地址,前后端分离中登录界面跳转应由前端路由控制,后台仅返回json数据
shiroFilterFactoryBean.setLoginUrl("/unauth");
 // 登录成功后要跳转的链接
//shiroFilterFactoryBean.setSuccessUrl("/index");
 //未授权界面;
 //shiroFilterFactoryBean.setUnauthorizedUrl("/403");
 shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);

 

你可能感兴趣的:(Shiro)