LDAP使用UPN在Active Directory中搜索用户

时间:2014-03-09 17:16:52

标签: java groovy active-directory ldap upn

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

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

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

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

非常感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:2)

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

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;
}

答案 1 :(得分:1)

不确定您要完成的是什么,但过滤器如下:

(userPrincipalName=jim@YOURDOMAIN.NET)

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