Laden...

LDAP Server erstellen (wegen eigener Adress db)

Erstellt von Kostas vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.970 Views
K
Kostas Themenstarter:in
597 Beiträge seit 2005
vor 18 Jahren
LDAP Server erstellen (wegen eigener Adress db)

Hallo Zusammen,

Ich habe eine Anwendung welche auch Adressen verwaltet.
Seit ein paar Tagen habe wir eine neue Telefonanlage bekommen
mit einem CTI-Client. Dieses Teil kann über LDAP auf Adressbestände
zugreifen, in diesen suchen und anzeigen.

Wie Umfangreich könnte es sein einen eigenen LDAP-Server zu erzeugen
um eine Suchanfrage vom CTI-Client mit Daten zu füllen?
Der CTI-Client hat ein Config-Form für LDAP(Bildanhang). Mehr Infos
über den Zugriff seitens der CTI-Anwendung habe ich leider nicht.
Vermutlich deshalb weil es ein Standart ist.

Wenn es nicht so schlimm ist, ist euch so ein Beispiel bekannt?

Gruß Kostas

308 Beiträge seit 2005
vor 18 Jahren

Hallo Kostas,

das einfachste wäre wenn du das Active Directory der Windows Server Varianten benutzen kannst. Wenn du da mit den gegeben Feldern auskommst kannst du sogar auf eine Schemaerweiterung verzichten (was beim Domänen mit mehreren Servern meistens keinen Spass macht und auch an den meisten Administratoren scheitert...).

Ansonsten musst du dir einen (freien?) LDAP Server suchen.
Der alte von Netscape (war?) mal frei zu bekommen.
Ansonsten ist der von CA extrem flexibel und Peformant.
Auch IBM hat einen guten LDAP Server.

Aber LDAP ist nicht ganz trivial. Je nach Server darf man das Schema ohne jegliche GUI mit Textdateien beschreiben. Das bedarf einiger Einarbeitung...

K
Kostas Themenstarter:in
597 Beiträge seit 2005
vor 18 Jahren

Hallo cadi,

danke erstmal für die Info.
Doch leider habe ich Dich nicht ganz verstanden.
Du meinst, ich muss einen externen LDAP-Server benutzen?

Würde das bedeuten das ich meine Adressen aus meiner Firebird
DB in den ADS importieren müsste damit ein externer CTI-Client
diesen ansprechen kann?
der CTI-Client würde somit nicht meine Datenbank fragen sondern
das ADS?

Gruß Kostas

308 Beiträge seit 2005
vor 18 Jahren

Hallo Kostas,

mir war nicht klar, das du die Daten bereits in einer Firebird Datenbank hast.

Einen eigenen LDAP Server zu schreiben halte ich für extrem ambitioniert.
Das L steht zwar wür "Leightweight", das ist aber nur relativ zu x.400 zu sehen. Und das ist eines der aufgeblähtesten Protokolle, die ich kenne.

Ich denke du würdest auch keine SQL-Datenbank schreiben wollen?

Ich fürchte, der Weg die Daten in einen existierenden LDAP Server zu duplizieren ist kaum zu umgehen.

Wenn die Firebird Datenbank nur für die CTI Anlage brauchst solltest du überlegen das LDAP zum führenden System zu machen und die Firebird Datenbank zu verwerfen.

K
Kostas Themenstarter:in
597 Beiträge seit 2005
vor 18 Jahren

Hallo Cadi,

Firebird kann ich nicht wirklich ersetzen. Für den CTI-Client benötige ich
wirklich nur den Namen, Firma, und die Telefonnummer.
Jetzt muss ich nur noch herausfinden wie ich diese Infos in den ADS
bekomme.
Darf ich ganz leise anfrage ob Du eine Möglich kennst, vielleicht
irgend ein Beispiel oder so?

Gruß Kostas

308 Beiträge seit 2005
vor 18 Jahren

Hallo Kostas,

ADS ist eigentlich recht einfach von c# aus zu benutzen.
Ich habe leider keine Beispiele in C# da, ich habe sowas nur in c++ machen dürfen...

Dieser Artikel könnte dir evtl. helfen: LDAP, IIS and WinNT Directory Services

K
Kostas Themenstarter:in
597 Beiträge seit 2005
vor 18 Jahren

Besten Dank cadi,

ich werde jetzt ein bischen googeln und sicherllich
etwas finden.

Gruß Kostas

K
Kostas Themenstarter:in
597 Beiträge seit 2005
vor 18 Jahren

Hallo Zusammen,

ich bin jetz ein grosses stück weitergekommen und kann jetzt
ein Kontakt im AD über C# anlegen. Doch leider wird dier
Kontakt nicht in der OU=Telefonbuch angelegt sondern direkt
unterhalb der Domäne.

Wo muss ich bitte den OU=Telefonbuch angeben?
Im Bindig path habe ich es versucht.
strPath = "LDAP://192.168.1.100:389/OU=Telefonbuch"; // so geht es nicht


      DirectoryEntry objADAM;   // Binding object.
            string strPath;           // Binding path.

            // Construct the binding string.
            strPath = "LDAP://192.168.1.100:389";


            // Get ADAM object.
            try
            {
                objADAM = new DirectoryEntry(strPath);
                objADAM.RefreshCache();
            }


                objNewContact = objADAMPath.Children.Add(strCN, "Contact");

                if (strSN != "" || strSN != String.Empty)
                    objNewContact.Properties["sn"].Add(strSN);

                if (strTitle != "" || strTitle != String.Empty)
                    objNewContact.Properties["title"].Add(strTitle);
              ...



Gruß Kostas