具有Active Directory身份验证的Spring SwitchUserFilter

问题描述 投票:0回答:1

我已经使用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身份验证。

java spring spring-security active-directory
1个回答
0
投票

我通过实现自己的UserDetailsService解决了这个问题,LdapUserDetailsService在LDAP中搜索用户名。或者,可以使用qazxswpoi(如果您不需要大量定制)。

© www.soinside.com 2019 - 2024. All rights reserved.