Ankündigung

Einklappen
Keine Ankündigung bisher.

LDAP (AD) Konten über Intrexx erzeugen

Einklappen
X

LDAP (AD) Konten über Intrexx erzeugen

Einklappen
  • Filter
  • Zeit
Alles löschen
neue Beiträge

  • LDAP (AD) Konten über Intrexx erzeugen

    Hallo zusammen,

    wir möchten mit Hilfe der User Self Service App LDAP Konten erzeugen lassen.

    Welche Schritte sind hierzu erforderlich .. hat dies schon jemand umgesetzt ?!

    EDIT:
    Könnte dies der Schlüssel zum Anlegen sein ?
    Code:
    import java.util.Hashtable;
    
    import javax.naming.Context;
    import javax.naming.directory.DirContext;
    import javax.naming.directory.InitialDirContext;
    
    public class Main {
      public static String INITCTX = "com.sun.jndi.ldap.LdapCtxFactory";
    
      public static String MY_HOST = "ldap://localhost:389";
    
      public static String MGR_DN = "uid=yourid, ou=People, o=java.com";
    
      public static String MGR_PW = "password";
    
      public static String MY_SEARCHBASE = "o=java.com";
    
      public static void main(String args[]) throws Exception {
        Hashtable<String, String> env = new Hashtable<String, String>();
        env.put(Context.INITIAL_CONTEXT_FACTORY, INITCTX);
    
        env.put(Context.PROVIDER_URL, MY_HOST);
        env.put(Context.SECURITY_AUTHENTICATION, "simple");
        env.put(Context.SECURITY_PRINCIPAL, MGR_DN);
        env.put(Context.SECURITY_CREDENTIALS, MGR_PW);
    
        DirContext ctx = new InitialDirContext(env);
    
        Person p = new Person();
        ctx.bind("uid=mewilcox, ou=People, o=airius.com", p);
      }
    }
    
    class Person{
      String name="name";
    }
    Oder dieser Link hier:
    https://stackoverflow.com/questions/...g-the-password


    P.S.:
    Was wir bereits in einem anderen Projekt umgesetzt haben.
    Passwortänderung eines Intrexx-Users (AD-Account) über Intrexx zurück nach LDAP.

    Das bedeutet, man kann ja von Intrexx zurück nach LDAP schreiben.
    Eine Benutzeranlegung sollte ja somit auch möglich sein ?!

    Lg
    intrexxer

  • #2
    Ich habe es selbst hinbekommen:

    Code:
    import java.util.Hashtable;
    import java.util.Properties;
    import java.util.jar.Attributes;
    
    import javax.naming.Context;
    import javax.naming.NamingException;
    import javax.naming.directory.Attribute;
    import javax.naming.directory.BasicAttribute;
    import javax.naming.directory.BasicAttributes;
    import javax.naming.directory.DirContext;
    import javax.naming.directory.InitialDirContext;
    import javax.naming.ldap.InitialLdapContext;
    import javax.naming.ldap.LdapContext;
    
    
    def conn = g_dbConnections.systemConnection
    
    def bError = null
    
    def strDn         = g_sharedState.dn
    
    
    
    DirContext context;
    
    
                     Hashtable ldapEnv = new Hashtable();
                     ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
                     ldapEnv.put(Context.PROVIDER_URL, "ldaps://Serverxy:636"); //secure connection
                     ldapEnv.put(Context.SECURITY_AUTHENTICATION, "simple");
                     ldapEnv.put(Context.SECURITY_PRINCIPAL, "CN=XXX,OU=XXX,DC=XXX,DC=XXX,DC=XXX,DC=XXX"); // specify the username
                     ldapEnv.put(Context.SECURITY_CREDENTIALS, "password");// specify the password
                     ldapEnv.put(Context.SECURITY_PROTOCOL, "ssl");
                     context = new InitialDirContext(ldapEnv);
    
                    // TODO code application logic here
    
                              // entry's DN
               String entryDN = "CN=Username,OU=XXX,DC=XXX,DC=XXX,DC=XXX,DC=XXX";
    
    
                // entry's attributes
    
                Attribute cn = new BasicAttribute("cn", "XXX");
                Attribute sn = new BasicAttribute("sn", "XXX");
                Attribute mail = new BasicAttribute("mail", "XXX@XXX.de");
                Attribute phone = new BasicAttribute("telephoneNumber", "+1 2345 678");
                    Attribute oc = new BasicAttribute("objectClass");
                oc.add("top");
                oc.add("person");
                oc.add("organizationalPerson");
                oc.add("inetOrgPerson");
                DirContext ctx = null;
    
                try {
                    // get a handle to an Initial DirContext
                    ctx = new InitialDirContext(ldapEnv);
    
                    // build the entry
                    BasicAttributes entry = new BasicAttributes();
                    entry.put(cn);
                    entry.put(sn);
                    entry.put(mail);
                    entry.put(phone);
    
                    entry.put(oc);
    
                    // Add the entry
    
                    ctx.createSubcontext(entryDN, entry);
                   g_log.warn( "AddUser: added entry " + entryDN + ".");
    
                } catch (NamingException e) {
                   g_log.warn("AddUser: error adding entry." + e);
                }
    Wichtig ist, dass das LDAP-Server CA-Zertifikat im Zertifikatsspeicher importiert ist. Ggf. muss der Poraldienst neu gestartet werden.

    Lg
    intrexxer

    Kommentar

    Lädt...
    X