Spring SwitchUserFilter с аутентификацией Active Directory - PullRequest
0 голосов
/ 30 августа 2018

Я настроил аутентификацию с Active Directory следующим образом:

AuthenticationProvider activeDirectoryAuthenticationProvider(UserDetailsContextMapper userDetailsContextMapper) {

ActiveDirectoryLdapAuthenticationProvider provider = new ActiveDirectoryLdapAuthenticationProvider(
    "company.local",
    "ldap://active-directory-dc:389");
provider.setConvertSubErrorCodesToExceptions(true);
provider.setUserDetailsContextMapper(userDetailsContextMapper);
return provider;

Я хотел бы использовать SwitchUserFilter для олицетворения пользователей. Однако я вижу только метод SwitchUserFilter#setUserDetailsService для настройки объекта аутентификации, и невозможно передать AuthenticationProvider в фильтр. Кроме того, я не знаю, можно ли (и как) использовать UserDetailsService для аутентификации в Active Directory.

1 Ответ

0 голосов
/ 02 сентября 2018

Я решил проблему, внедрив свой собственный UserDetailsService, который ищет имена пользователей в LDAP. В качестве альтернативы можно использовать LdapUserDetailsService (если вам не требуется значительная настройка).

...