2016-12-13 3 views
0

Meine Anwendung verwendet LDAP für die Benutzeranmeldung.Benutzer in LDAP (Wildfly) suchen

Wildfly config:

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

Meine Frage ist, wie LDAP-Benutzer in App suchen? Ich möchte die Möglichkeit hinzufügen, andere Benutzer in ldap (für bereits angemeldete Benutzer) zu suchen.

Antwort

0

Sie konnte zu Wildfly Management API verbinden und Sicherheitsdomäne Konfiguration lesen, aber Sie sollte dies nicht tun.

Mischen Sie die Konfiguration der Serververwaltung und die Anwendungskonfiguration nicht, wenn Sie eine andere Möglichkeit haben.

Stellen Sie die LDAP-Konfiguration für die Anwendung bereit (z. B. Kontextparameter im Deployment-Deskriptor oder verwenden Sie eine Eigenschaftendatei), und führen Sie dann etw. wie:

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

Danke. Es klappt. – skoczo

Verwandte Themen