配置指定url跳过shiro验证,在org/jeecg/config/shiro/ShiroConfig.java
中配置
@Value("${jeecg.shiro.excludeUrls}")
private String excludeUrls;
@Bean("shiroFilter")
public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {
CustomShiroFilterFactoryBean shiroFilterFactoryBean = new CustomShiroFilterFactoryBean();
shiroFilterFactoryBean.setSecurityManager(securityManager);
Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();
if(oConvertUtils.isNotEmpty(excludeUrls)){
String[] permissionUrl = excludeUrls.split(",");
for(String url : permissionUrl){
filterChainDefinitionMap.put(url,"anon");
}
}
filterChainDefinitionMap.put("/sys/cas/client/validateLogin", "anon");
filterChainDefinitionMap.put("/sys/randomImage/**", "anon");
filterChainDefinitionMap.put("/sys/checkCaptcha", "anon");
filterChainDefinitionMap.put("/sys/login", "anon");
filterChainDefinitionMap.put("/sys/loginByCode", "anon");
filterChainDefinitionMap.put("/sys/mLogin", "anon");
filterChainDefinitionMap.put("/sys/logout", "anon");
Map<String, Filter> filterMap = new HashMap<String, Filter>(1);
Object cloudServer = env.getProperty(CommonConstant.CLOUD_SERVER_KEY);
filterMap.put("jwt", new JwtFilter(cloudServer==null));
shiroFilterFactoryBean.setFilters(filterMap);
filterChainDefinitionMap.put("/**", "jwt");
shiroFilterFactoryBean.setUnauthorizedUrl("/sys/common/403");
shiroFilterFactoryBean.setLoginUrl("/sys/common/403");
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
return shiroFilterFactoryBean;
}