3

我正在使用 LDAP 身份验证,需要帮助

假设我有一个用户(user1@zzservers.ad),其中 zzservers.ad 是 demo.com 域的 UPN 别名,我已经知道一种按域在活动目录中搜索用户的方法。

但是有谁知道如何通过 UPN 别名搜索活动目录中的用户。

实际上,当用户 user1@zzservers.ad 登录到应用程序时,我想知道用户是否存在于 AD 中,以便进一步进行身份验证。

任何帮助将不胜感激。

谢谢

4

2 回答 2

4

这更像是一个普通的用户搜索:

public String findUserByUPN( LdapContext ctx, String username )
{
   // Domain name should be in DC=your,DC=domain,DC=com format
   String domain = "DC=demo,DC=com";
   String filter = "(userPrincipalName=" + username + ")" ;
   NamingEnumeration<SearchResult> results = ctx.search( domain, filter, null );
   while ( results.hasMore() )
   {
       SearchResult result = results.next();
       // If you get a result here, the user was found
       return result.getNameInNamespace();
   }
   return null;
}
于 2014-03-10T15:13:11.597 回答
3

不确定您要完成什么,但有一个过滤器,例如:

(userPrincipalName=jim@YOURDOMAIN.NET)

将根据 userPrincipalName 属性的值定位用户。-吉姆

于 2014-03-10T10:29:55.020 回答