Java/JNDI zugriff auf W2K active directory

bastien

Grünschnabel
java mit RMI

Hallo,

1.) ich suche ein Tutorial zu java mit RMI. Boardsuche brachte kein ERfolg...
 
Zuletzt bearbeitet:
hallo!

zu 1. kann ich dir leider nichts sagen, zu 2. allerdings schon:
a: Ich seh hier keine Links, nur die Meldung das dies die "for sale" products sind, und ich aber anscheinend nur die Gratisdownloads haben darf :)...
Ich nutze hier die com.sun.jndi.ldap.LdapCtxFactory, weiß aber nimmer woher ich die habe (Projekt schon etwas älter ^^)

Hier mal die Grundsätzliche implementation, die Klassen sind alle im javax.naming

Code:
//Verbindung:
   Hashtable<String,String> env = null;
   
            env = new Hashtable<String,String>();
            env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
            env.put(Context.SECURITY_AUTHENTICATION,"simple");
            env.put(Context.SECURITY_PRINCIPAL,"elektr\\user");
            env.put(Context.SECURITY_CREDENTIALS,"");
            env.put(Context.PROVIDER_URL,"ldap://serveradr:389");
 
//Suchen:
        //Der DirectoryContext wird den angegebenen Einstellungen aufgebaut und die Suche gestartet.
        DirContext ctx = new InitialDirContext(env);
        NamingEnumeration<SearchResult> sRes = ctx.search("CN=users,DC=elektr,DC=local", "(objectClass=group)", null);
        
        //In der Enumeration sRes sind nun alle Gruppen enthalten
        while (sRes.hasMore()) {
            SearchResult res = sRes.next();
            //Die Attribute der Gruppe werden in ein Attributes-Objekt (Prinzipiell eine Map) gespeichert
            Attributes atr = res.getAttributes();
            //Der Gruppename (CommonName Attribut) wird ausgelesen:
            (String)atr.get("CN").get();
        }
        ctx.close();
    
/*Was ändern:
     *  -Erstellung eines BasicAttributs ( (Wohin soll es gespeichert werden) , (Was soll gespeichert werden))
     *  -Erstellung eines Arrays von Modification Items, wobei jedes ModItem noch eine Variable benötigt, die Anzeigt ob gelöscht, hinzugefügt,
     *   etc werden soll.
     *  -Dem Context wird der Ort (tinftest.users.elektr.local) und die Liste der ModItems übergeben
*/
            DirContext ctx = new InitialDirContext(env);
            String groupDN = "CN=tinftest,CN=Users,DC=elektr,DC=local";
            ModificationItem[] mod = { new ModificationItem(DirContext.ADD_ATTRIBUTE, new BasicAttribute("member", "CN="+gname+",CN=users,DC=elektr,DC=local")) };
            ctx.modifyAttributes(groupDN, mod);
            ctx.close();

Is jetz nur aus meinen alten Sourcen kopiert, vl. hilfts dir ja trotzdem weiter..
 
Zuletzt bearbeitet:
Is jetz nur aus meinen alten Sourcen kopiert, vl. hilfts dir ja trotzdem weiter..

sorry konnte mich erst jetzt melden ;-) Punkt 1 hat sic erledigt, da ich die falsche base dn
eingab :suspekt:

Sorry bin erst jetzt dazu gekommen zu sagen worans lag da viel Stress auf der Arbeit... ARSC.HLOCH
 
Zuletzt bearbeitet:
Zurück