|
Тема
|
LDAP - DirectoryServices ВЪПРОС?
|
|
Автор |
Werewolf (Demon Team) |
Публикувано | 31.08.04 14:41 |
|
Здравейте,
опитвам се да направя програма, кочто ползва обекта за работа с LDAP - DirectoryServices, за да мога да добавям записи в един UNIX с Openldap. Значи логнах се, търся без проблем, но имам сериозни проблеми със записването там. Някой борил ли се е и може ли да помогне. Ако нещо искате да ви кажа повече относно това което съм правил, кажете?
Благодаря предварително.
[image]http://www.zcs.k12.in.us/ZCHS/images/wrestling.gif[image]
| |
Тема
|
Re: LDAP - DirectoryServices ВЪПРОС?
[re: Werewolf]
|
|
Автор |
Werewolf (Demon Team) |
Публикувано | 01.09.04 10:08 |
|
Уф........явно никой не знае
Странното е, че ако е тъп въпрос като 'VB.NET vs C#.NET?' ще отговорят 50 човека, а ако е някой въпрос за девелопъри с опит, няма да има кой да ти напише 2-а реда. Явно не пиша на правилното мяско.....
[image]http://www.zcs.k12.in.us/ZCHS/images/wrestling.gif[image]
| |
Тема
|
Re: LDAP - DirectoryServices ВЪПРОС?
[re: Werewolf]
|
|
Автор |
XaMaB (откачалка) |
Публикувано | 01.09.04 15:17 |
|
ами щото питаш за юникс а тия неща дето ги споменаваш после са по уиндовс и за тях всички са компетентни.
| |
Тема
|
Re: LDAP - DirectoryServices ВЪПРОС?
[re: Werewolf]
|
|
Автор | kasev (Нерегистриран) |
Публикувано | 01.09.04 17:13 |
|
Ako ti triabvat LDAPv3 features, shte triabva da minesh kym LDAP API-to. System.DirectoryServices.Protocols vyv versia 2.0 na .NET Framework-a shte ima pylna implementacia na LDAP API-to. Reshenieto na tvoia problem e:
| |
Тема
|
Re: LDAP - DirectoryServices ВЪПРОС?
[re: kasev]
|
|
Автор |
Werewolf (Demon Team) |
Публикувано | 02.09.04 15:05 |
|
Благодаря предварително, не съм погледнал още линка, но ще прочета за какво става въпрос. Междо другото без проблем правя търсене и без проблем се логвам там, просто проблемът е само в писането. ADD методът нещо Openldapa му се опъва. Ако някой друг го интересува решението на проблема да пише, мога да сложа и кода на въпросната функция.
[image]http://www.zcs.k12.in.us/ZCHS/images/wrestling.gif[image]
| |
Тема
|
Re: LDAP - DirectoryServices ВЪПРОС?
[re: kasev]
|
|
Автор |
Werewolf (Demon Team) |
Публикувано | 02.09.04 16:02 |
|
Евала от мен колега, това май ще тръгне, подкарах го почти цялото. Пича е направил на C++ един компонент за .NET, който се инклудва и се ползва доста ясно и аналогично с идеите в OPENLDAP
Благодаря, имаш бира от мен!
[image]http://www.zcs.k12.in.us/ZCHS/images/wrestling.gif[image]
| |
Тема
|
Решение чрез DirectoryServices - Search, Logon
[re: Werewolf]
|
|
Автор |
Werewolf (Demon Team) |
Публикувано | 02.09.04 16:14 |
|
Това успях да постигна с помоща на MSDN-а, работи само с DirecoryServices свързано с LDAP под UNIX (Openldap):
Логване, стринга за IP-то на сървъра и DN-а, както потребител и парола са си опции от вашата мрежа и сървър:
Dim I As Int16
REM Дифиниране на променливи и логване към LDAP сървъра
Dim strPath As String = "LDAP://192.168.1.1/cn=USER,o=Company,c=BG"
Dim myDir As New DirectoryEntry(strPath, "cn=USER,o=Company,c=BG", "pass", AuthenticationTypes.ServerBind)
REM -----------------------------------------------------------------------------
REM Четем и вадим информация за текущата позиция в LDAP сървъра, вадим обектите:
Console.WriteLine("schema class name: " & myDir.SchemaClassName & ", name: " + myDir.Name)
Console.WriteLine("In this LDAP in ROOT count of objects is: " & myDir.Properties.Count)
Console.WriteLine("Current path: " & myDir.Path)
myDir.Close()
REM Затваряме сесията
Търсене в Openldap, използвате логването от по-горе като не затваряте сесията (ако не го ползвате може да се логнете като публичен потребител), не е необходимо да вадите схемата и прочее, което аз съм направил след логванео:
Dim mySearcher As DirectorySearcher = New DirectorySearcher(myDir)
Dim resEnt As SearchResult
REM Вадене на всички обджект класове, може да се смени с друг критерии
mySearcher.Filter = ("(objectClass=*)")
Console.WriteLine(Chr(10) & Chr(13) & "Listing LDAP 'objectClass=*':")
Console.WriteLine("=========== Start of Listing =============")
For Each resEnt In mySearcher.FindAll()
Console.WriteLine(resEnt.GetDirectoryEntry().Name.ToString())
Next
Console.WriteLine("============ End of Listing ==============")
Това е засега от мен, по-нататак следва ADD метода, върху него сега работя, ако някой има повече инфо да пише тук, ако иска да го добавя като се справя да казва. Този код работи в този вид буквално с Copy / Paste, с минимални корекции ако се налага в стринга за търсене или настройка на сървъра към който се логвате.
[image]http://www.zcs.k12.in.us/ZCHS/images/wrestling.gif[image]
| |
Тема
|
Добавяне на запис в OpenLDAP
[re: Werewolf]
|
|
Автор |
Werewolf (Demon Team) |
Публикувано | 03.09.04 12:38 |
|
Пичове, т'ва бачка
тук направо по същество:
Imports System
Imports System.Collections
Imports System.Collections.Specialized
Imports System.DirectoryServices
Imports ldap_net
.
.
.
.
Dim LD_Clint As New LdapClient("192.168.1.5", LdapClient.DefaultPort, True, False)
LD_Clint.ldap_simple_bind_s("cn=user,o=company,c=BG", "secret")
Dim attrval As New ListDictionary
Dim entryDN As String = "o=company,c=BG"
attrval("objectClass") = New String() {"top", "person"}
attrval("cn") = "Testio Testiov"
attrval("sn") = "Testiov"
LD_Clint.ldap_add_s(entryDN, attrval)
LD_Clint.ldap_unbind()
За да работи по-горното ви трябва това:
http://www.codeproject.com/dotnet/dotnetopenldap/dotnetopenldap_src.zip
Благодаря още веднъж на колегата Малко вероятно някой друг да захване да прай т'ва дет аз, ама ако попадне тук още някой и го интересува да взима тези неща и да не си бие повече главата.
[image]http://www.zcs.k12.in.us/ZCHS/images/wrestling.gif[image]
| |
|
|
|
|