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);

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

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

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

SecurityManager 是从这里定义而来

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