美文网首页
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