2016-12-13 3 views
0

Мое приложение использует LDAP для входа пользователя в систему.Поиск пользователя в LDAP (Wildfly)

Wildfly конфигурации:

<security-domain name="LDAPAuth"> 
    <authentication> 
     <login-module code="LdapExtended" flag="required"> 
      <module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/> 
      .... 
     </login-module> 
     <login-module name="Database-role" code="Database" flag="optional"> 
      <module-option name="password-stacking" value="useFirstPass"/> 
      ..... 
     </login-module> 
     <login-module name="Database-default" code="Database" flag="optional"> 
      <module-option name="password-stacking" value="useFirstPass"/> 
      .... 
     </login-module> 
    </authentication> 
</security-domain> 

Мой вопрос заключается в том, чтобы искать пользователей LDAP в приложении? Я хочу добавить возможность поиска других пользователей в ldap (для уже зарегистрированных пользователей).

ответ

0

Вы могли подключиться к управлению WildFly API и читать настройки домена безопасности, но вы не должны сделать это.

Не смешивайте конфигурацию управления сервером и конфигурацию приложения, если у вас есть другой способ.

Укажите конфигурацию LDAP для приложения (например, параметры контекста в дескрипторе развертывания или используйте файл свойств), а затем выполните sth. :

env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); 
env.put(Context.PROVIDER_URL, ldapUrl); 
env.put(Context.SECURITY_AUTHENTICATION, "simple"); 
env.put(Context.SECURITY_PRINCIPAL, user); 
env.put(Context.SECURITY_CREDENTIALS, password); 
final LdapContext ctx = new InitialLdapContext(env, null); 
final SearchControls searchControls = new SearchControls(); 
searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE); 
NamingEnumeration<?> namingEnum = ctx.search("dc=mycompany,dc=example", "(uid=*)", searchControls); 
while (namingEnum.hasMore()) { 
    // TODO 
} 
namingEnum.close(); 
ctx.close(); 
+0

Спасибо. Оно работает. – skoczo

Смежные вопросы