Spring Securityは、すぐに使用できるLDAPをすでにサポートしています。実際には、章全体があります これについて。
LDAPを使用および構成するには、spring-security-ldap
を追加します 依存関係と次に使用するAuthenticationManagerBuilder.ldapAuthentication
それを構成します。 LdapAuthenticationProviderConfigurer
必要なものを設定することができます。
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.ldapAuthentication()
.contextSource()
.url(...)
.port(...)
.managerDn(...)
.managerPassword(...)
.and()
.passwordEncoder(passwordEncoder())
.userSearchBase(...)
.ldapAuthoritiesPopulator(new UserServiceLdapAuthoritiesPopulater(this.userService));
}
そのようなもの(少なくとも何をどのように構成するかについてのアイデアが得られるはずです)にはもっと多くのオプションがありますが、それについてはjavadocsを確認してください。 UserService
を使用できない場合 そのままロールを取得し(データベースにはロールのみが含まれているため)、独自の LdapAuthoritiesPopulator
そのために。