代码之家  ›  专栏  ›  技术社区  ›  fxmasa

带Active Directory身份验证的Spring SwitchUserFilter

  •  0
  • fxmasa  · 技术社区  · 6 年前

    我使用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 回复  |  直到 6 年前
        1
  •  0
  •   fxmasa    6 年前

    我用自己的方法解决了这个问题 UserDetailsService 在LDAP中搜索用户名。或者,也可以使用 LdapUserDetailsService