Hallo
Ich möchte das ActiveDirectory via LDAP ins Notes lesen.
Hat das schon mal jemand gemacht?
Gruss, Dave
Hallo
Ich möchte das ActiveDirectory via LDAP ins Notes lesen.
Hat das schon mal jemand gemacht?
Gruss, Dave
Nein, weil Du via LDAP die Daten nicht ins Notes "lesen" kannst.
WAS willst Du damit erreichen? Lies dir mal die Kapitel "AD Syncronisation" bzw. Directory Assistance in der Admin-Hilfe durch.
Hallo both
Ich möchte keine Synchronization mit dem AD.
Das ganze soll als online Informationssystem dienen, dabei möchte ich die Personen/Gruppen-Informationen abfragen, welche von AD und Notes her kommen.
Notes soll das Master-System sein, als alle Informationen sollen von dem her abgefragt werden können.
Gruss, Dave
Ich verstehe Deine Frage/Anforderung nicht. Bitte nochmals, klarer formulieren.
Ok, hier nochmals meine Fragestellung, jetzt hoffentlich für alle verständlich....
Ich möchte eine online Abfrage mit Notes realisieren, welche mir die Daten vom AD ausgibt.
Dies möchte ich mit einem LDAP-Connect aus Notes auf einen ADAM-Server (1:1 Abbild vom produktiven AD) machen.
Das ist schon der richtige Weg, oder hat mir da eine bessere Lösung?
Oder generell gefragt, hat sowas schon jemand von euch gemacht?
Danke und Gruss, Dave
LDAP-Connect geht nur von einem Java.Agent aus.
Du kannst aber über Directory Assistance das AD via LDAP einbinden. Wie das geht, steht in der Admin-Hilfe. Dann kannst Du auf dieses wie auf ein "normales" Adressbuch zugreifen.
Hallo
Ich habe mich durch Java "gerungen" und es zustande gebracht, dass mir ein Java-Agent aus Notes die gewünschten User aus dem Notesadressbuch und dem Active Directory anzeigt.
Ok, es sind erst die Agents die funktionieren.
Jetzt muss noch ein anständiges Web-GUI her, damit das auch einbisschen daher kommt.
Danke für die Hilfe.
Schönes Weekend und Gruss aus Luzern,
Dave
Um zu vermeiden mich auch durch das Java wursteln zu müssen, könntest du deinen Agenten "sharen"?
Hier der Code:
**************START******************
import lotus.domino.*;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.DirContext;
import javax.naming.directory.Attributes;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import java.util.Vector;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
System.out.println("Hashtabelle fuer Properties");
Hashtable env = new Hashtable(11);
System.out.println("INITIAL_CONTEXT_FACTORY : com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
System.out.println("PROVIDER_URL : ldap://SERVERNAME:PORT/");
env.put(Context.PROVIDER_URL,"ldap://SERVERNAME:PORT/");
String adminName = "CN=USERNAME,OU=XXX,dc=XXX,dc=XX";
String adminPasswort = "PASSWORT";
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, adminName);
env.put(Context.SECURITY_CREDENTIALS, adminPasswort);
System.out.println("Context");
try {
// initialisieren des Contextes
System.out.println("Initialisieren des Contextes");
DirContext ctx = new InitialDirContext(env);
// Suchparameter
SearchControls constraints = new SearchControls();
String searchBase = "SUCHSTRING" ;
String searchFilter = "(&(objectClass=SEARCHCLASS)(mail=*hans*))";
// Auch Unterebenen durchsuchen
constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
// Suche starten mit den Argumenten (searchBase, searchFilter, searchCtl)
NamingEnumeration results = ctx.search(searchBase, searchFilter, constraints);
System.out.println("Results: " + results.hasMore());
int totalResults = 0;
// Durch alle gefundenen Datensätze durchgehen
while (results.hasMoreElements()) {
// Das nächste Ergebnis aussuchen
SearchResult si = (SearchResult) results.next();
totalResults++;
System.out.println(">> " + si.getName());
// Attribute
Attributes attrs = si.getAttributes();
}
System.out.println("Total results: " + totalResults);
// Verbindung trennen
ctx.close();
} catch (NamingException e) {
System.err.println("Problem : " + e);
}
session.recycle();
} catch(Exception e) {
e.printStackTrace();
}
}
}
***************ENDE******************
Angepasst werden müssen folgende Zeilen:
System.out.println("PROVIDER_URL : ldap://SERVERNAME:PORT/");
env.put(Context.PROVIDER_URL,"ldap://SERVERNAME:PORT/");
String adminName = "CN=USERNAME,OU=XXX,dc=XXX,dc=XX";
String adminPasswort = "PASSWORT";
String searchBase = "SUCHSTRING" ;
String searchFilter = "(&(objectClass=SEARCHCLASS)(mail=*hans*))";
Gruss, Dave