Как изменить принципала пользователя с userPrincipalName на sAMAccountName? - PullRequest
0 голосов
/ 09 октября 2019

Я использую Spring Security с AD-сервером для аутентификации. Моя проблема в том, что некоторые пользователи не имеют userPrincipalName. Поэтому я хотел изменить аутентификацию и аутентификацию с sAMAccountName и паролем. Я изменил свой поисковый фильтр, и мой ActiveDirectoryLdapAuthenticationProvider действительно находит пользователя, но затем использует данное имя sAMAccountName от имени входа в качестве userPrincipalName для аутентификации, а затем аутентификация завершается неудачей. Вот мой код:

public ActiveDirectoryLdapAuthenticationProvider activeDirectoryLdapAuthenticationProvider() {
        ActiveDirectoryLdapAuthenticationProvider activeDirectoryLdapAuthenticationProvider = new ActiveDirectoryLdapAuthenticationProvider(
                "test.test-company.com", "ldap://10.0.0.1:389", "DC=test,DC=test-company,DC=com");
        activeDirectoryLdapAuthenticationProvider.setConvertSubErrorCodesToExceptions(true);
        activeDirectoryLdapAuthenticationProvider.setSearchFilter(
                "(&(objectClass=user)(sAMAccountName={1})(memberOf=CN=Test-Group,OU=Groups,OU=Users Test,DC=test,DC=test-company,DC=com))");
        activeDirectoryLdapAuthenticationProvider.setUseAuthenticationRequestCredentials(true);
        return activeDirectoryLdapAuthenticationProvider;
    }

PS: пользователи, имеющие userPrincipalName, могут проходить аутентификацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...