tipos sp3 sp2 quimica identificar hibridacion hace enlace ejemplos covalente como carbono java spring ldap jndi spring-ldap

java - identificar - quimica hibridacion sp sp2 sp3



LDAP: código de error 49-Error de enlace simple: NT_STATUS_LOGON_FAILURE (3)

Estoy intentando autenticar al usuario pero arroja una Exception Puede haber un problema en la configuración.

public class LdapApplication { private static final String INITIAL_CONTEXT_FACTORY = "com.sun.jndi.ldap.LdapCtxFactory"; private static final String SECURITY_AUTHENTICATION ="simple"; private static final String NAMED_CONTEXT = "CN=Users"; private static final String SAM_ACCOUNT_NAME = "sAMAccountName="; public static void main(String[] args) { Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY,INITIAL_CONTEXT_FACTORY); env.put(Context.PROVIDER_URL, "ldap://ip:portNo/dc=organisation,dc=in"); env.put(Context.SECURITY_AUTHENTICATION, SECURITY_AUTHENTICATION); env.put(Context.SECURITY_PRINCIPAL, "cn=userName,cn=Users"); env.put(Context.SECURITY_CREDENTIALS, "password" ); DirContext context = null; NamingEnumeration namingEnumeration = null; try { context = new InitialDirContext(env); namingEnumeration = context.search(NAMED_CONTEXT, SAM_ACCOUNT_NAME+ userName, null); while (namingEnumeration.hasMore()) { SearchResult searchResult = (SearchResult) namingEnumeration.next(); Attributes attributes = searchResult.getAttributes(); System.out.println(" Person Common Name = " + attributes.get("cn")); System.out.println(" Person Display Name = " + attributes.get("displayName")); }catch(Exception e){ System.out.println(e.getMessage()); e.printStackTrace(); } } } catch (Throwable e) { e.printStackTrace(); } finally { if (namingEnumeration != null) { try { namingEnumeration.close(); } catch (Exception e) { } } if (context != null) { try { context.close(); } catch (Exception e) { } } } }

}

pero si menciono Context.SECURITY_PRINCIPAL como "organisation//userName" lugar de "cn=userName,cn=Users" funciona perfectamente bien. Sugiero amablemente una posible solución porque mi requisito es darle algo de SECURITY_PRINCIPAL usando cn o dc.


Está utilizando un nombre completo relativo que no funcionará.

Cambia tu código para usar

env.put(Context.SECURITY_PRINCIPAL, "cn=userName,cn=Users,dc=organisation,dc=in");

y también cambie su contexto de búsqueda a:

private static final String NAMED_CONTEXT = "CN=Users,dc=organisation,dc=in";

Siempre use nombres completos completos con LDAP.


Estábamos teniendo el mismo problema en nuestro código y lo solucionamos agregando el nombre de dominio antes del nombre de usuario. En lugar de ingresar user:password , ingrese domain/user:password .

Espero que esto ayude.