Active Directoryのユーザーは、自分のアカウントに、「[email protected]」またはフルネーム「firstname lastname」のいずれかの電子メールアドレスでログオンします。 ADドメインは 'company.local'です。ドメイン名と異なるUPNを使用したADに対するスプリングブートセキュリティ
問題があるのは、SpringがLDAPクエリであると、 'firstname [email protected]'を検索するという問題です。そして、それは一致を与えません。 .localへのアカウントのupn-suffixを変更することでエラーを省略できますが、これは本番用のオプションではありません。
どのようにしてクエリにドメインを追加しないようにSpringブートを設定できますか?
次の設定でSpring Securityを使用してSpringブートを構成しました(チュートリアルthis)。
関連する構成:
@configuration
public class MyWebSecurityConfigurer extends WebSecurityConfigurerAdapter {
@Bean
public AuthenticationProvider activeDirectoryAuthenticationProvider() {
ActiveDirectoryLdapAuthenticationProvider provider = new ActiveDirectoryLdapAuthenticationProvider("company.local","ldap://domaincontroller:389");
provider.setSearchFilter("(cn={0})");
return provider;
}
}