shiro1.9、1.8等新版本问题

废话少说直接上问题和解决方法。

问题:Shiro从1.4.0版本换到1.9.0版本后出现跨域问题。PS:原来有配置跨域,且在1.4.0版本没问题。

后面研究发现不是跨域配置出了问题,而是Shiro鉴权的问题。

解决方法:


  @Bean
    public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
        ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
        shiroFilterFactoryBean.setSecurityManager(securityManager);
        Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();

        // 1.8.0及以上的版本。
        filterChainDefinitionMap.put("/**", "anon");
       // 这里需要注意的是这个配置会导致所有的请求路径都免权限(不登录即可访问)
      // 因此需要给每个方法设置权限使用注解@RequiresAuthentication或者@RequiresPermissions

        // shiro1.4.0版本使用
//        filterChainDefinitionMap.put("/**", "authc");


        return shiroFilterFactoryBean;
    }

Shiro官方例子:

shiro官方例子.png

参考地址:Shiro1.9.0版本
参考地址:Shiro1.9.0版本集成spring

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容