qq_40868449
岛屿微歌
2019-08-23 12:46
采纳率: 66.7%
浏览 681
已采纳

Shiro中安全管理器的配置

1.Filter配置安全管理器

    @Bean("shiroFilter")
    public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager){
        //.定义factoryBean
        ShiroFilterFactoryBean factoryBean = new ShiroFilterFactoryBean();
        //.设置安全管理器
        factoryBean.setSecurityManager(securityManager);
        //.设置默认登陆的url
        factoryBean.setLoginUrl("/view1/login");
        //.设置成功后要跳转的链接
        factoryBean.setSuccessUrl("/view1/findAll");
        //.设置未授权页面
        factoryBean.setUnauthorizedUrl("/login/ss");
        //.返回过滤器
        return factoryBean;
    }

2.SecurityUtils配置安全管理器

SecurityUtils.setSecurityManager(securityManager);

提问: 这两种方式有什么区别?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • doncha
    doncha 2019-08-23 14:45
    已采纳

    感觉你的理解有点怪,两个类setSecurityManager并不是说SecurityManager权限管理是由这两个类set来的,set只是要告知使用者shiro所使用的权限管理是哪一个。就像我自己的代码

    @Bean(name = "securityManager")
        public DefaultWebSecurityManager securityManager() {
            DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
            securityManager.setRealm(shiroRealm());
            securityManager.setCacheManager(ehCacheManager());
            return securityManager;
        }
    

    SecurityManager 是从这里定义而来

    点赞 评论
  • a480675751
    这名字可真靓 2019-08-23 14:10

    应该是等价的吧,就像连接数据库一样.底层都是调用相应的工厂类.

    点赞 评论

相关推荐