LDAP Поиск пользователя в Active Directory с помощью UPN
Я использую аутентификацию LDAP, нужна помощь
Предположим, у меня есть пользователь (user1@zzservers.ad), где zzservers.ad - это псевдоним UPN домена demo.com, и я уже знаю способ поиска пользователя в активном каталоге по домену.
Но знает ли кто-нибудь о том, как искать пользователя в активной директории по псевдониму UPN.
На самом деле, когда пользователь user1@zzservers.ad входит в приложение, я хочу знать, присутствует ли пользователь в AD, чтобы продолжить аутентификацию.
Любая помощь будет принята с благодарностью.
Спасибо
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;
}
Не уверен, что вы пытаетесь достичь, но фильтр как:
(userPrincipalName=jim@YOURDOMAIN.NET)
Находит пользователя по значению атрибута userPrincipalName. -Джим