0

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

答えて

0

私は、ActiveDirectoryLdapAuthenticationProviderのための別のコンストラクタを使用して無にドメイン文字列を設定し、ROOTDNを追加することによって、自分自身をそれを考え出し:

ActiveDirectoryLdapAuthenticationProvider provider = new ActiveDirectoryLdapAuthenticationProvider("","ldap://domaincontroller:389","DC=company,DC=local"); 
関連する問題