美文网首页
Spring Boot Shiro 多重认证

Spring Boot Shiro 多重认证

作者: 星辰大海w | 来源:发表于2019-01-04 17:08 被阅读0次

    修改 ShiroConfig.java 配置文件

    1. 增加 Realm 的 bean
    /**
     * AD认证Realm
     */
    @Bean
    ADRealm adRealm() {
        return new ADRealm();
    }
    
    /**
     * 用户表认证Realm
     */
    @Bean
    UserRealm userRealm() {
        return new UserRealm();
    }
    
    1. 增加多重认证策略 bean
    /**
     * 多Realm认证策略
     */
    @Bean
    ModularRealmAuthenticator modularRealmAuthenticator() {
        ModularRealmAuthenticator modularRealmAuthenticator = new ModularRealmAuthenticator();
        // 所有realm中,有一个成功则算成功
        modularRealmAuthenticator.setAuthenticationStrategy(new FirstSuccessfulStrategy());
        return modularRealmAuthenticator;
    }
    
    1. 修改 SecurityManager 安全管理器 bean,注入策略和 realm
    @Bean
    SecurityManager securityManager() {
        DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
        // 多REALM认证策略
        securityManager.setAuthenticator(modularRealmAuthenticator());
        // 多REALM
        List<Realm> realms = Lists.newArrayList();
        realms.add(adRealm());
        realms.add(userRealm());
        securityManager.setRealms(realms);
        // securityManager.setRealm(userRealm());
        securityManager.setSessionManager(sessionManager());
        return securityManager;
    }
    

    相关文章

      网友评论

          本文标题:Spring Boot Shiro 多重认证

          本文链接:https://www.haomeiwen.com/subject/slutrqtx.html