Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

LDAP Autentifikacija

[es] :: .NET :: LDAP Autentifikacija

[ Pregleda: 1633 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vbvlada
Petrović Vladimir
Beograd

Član broj: 59233
Poruke: 209
*.rcub.bg.ac.rs.



Profil

icon LDAP Autentifikacija14.04.2011. u 13:33 - pre 157 meseci
Našao sam ovaj kod na ovoj stranici koji treba da proveri da li neki korisnik postoji u Aktivnom direktorijumu.
Slabo znam kako sve ovo funkcioniše, ali čini mi se da mi treba korisnički nalog sa kojim treba prvo da pristupim LDAP serveru, pa tek onda da izvršim pretragu direktorijuma.
Posebno mislim da je problem u podatku "path", nisam siguran kako njega da napravim, da li tu idu ti podaci za pristup ili kako već.

Code:

public bool IsAuthenticated(string domain, string username, string password)
        {
            string domainAndUsername = domain + "\\" + username;
            DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, password);
            Object obj = entry.NativeObject;
            DirectorySearcher search = new DirectorySearcher(entry);
            search.Filter = "(SAMAccountName=" + username + ")";
            search.PropertiesToLoad.Add("cn");
            SearchResult result = search.FindOne();
            if (result == null)
                return false;
            _path = result.Path;
            _filterAtribute = result.Properties["cn"][0].ToString();
            return true;
        }


Exception koji dobijem je "unknown username or bad password", a unosim tačne podatke.

Može li neko da objasni kako sve ovo funkcioniše, pa da vidm gde je problem?
A vi,kako 'te?
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.dynamic.sbb.rs.



+395 Profil

icon Re: LDAP Autentifikacija14.04.2011. u 14:09 - pre 157 meseci
Ako ti je masina u domenu i sve radi preko win-authentication stavi sve parametre da budu null
Code:

DirectoryEntry de = new DirectoryEntry(null, null, null, AuthenticationTypes.Secure);

 // ako je username npr. "domain\user"; . onda u LDAP upitu uzimas samo sto ostane od backslash-a 

string UserName = "user" ; 

DirectorySearcher deSearch = new DirectorySearcher();

deSearch.SearchRoot = de;
deSearch.Filter = "(&(objectClass=user)(sAMAccountName=" + UserName + "))";
deSearch.SearchScope = SearchScope.Subtree;

SearchResult results = deSearch.FindOne();

if (results != null)
{
   //user pronadjen 
   de = new DirectoryEntry(results.Path, null, null, AuthenticationTypes.Secure);
   String strDisplayName = de.Properties["name"].Value.ToString()); 

}




Viva lollapalooza
 
Odgovor na temu

vbvlada
Petrović Vladimir
Beograd

Član broj: 59233
Poruke: 209
*.rcub.bg.ac.rs.



Profil

icon Re: LDAP Autentifikacija14.04.2011. u 19:49 - pre 157 meseci
Ja se izvinjavam, tek sam posle uvideo da ovo što sam radio i nije baš klasična pretraga LDAP-a.
Krenuo sam sa Novell-ovom bibliotekom koja mi se čini prilično jednostavnija i slična je u pretragama koje se koriste u PHP-u i ostalim jezicima.
Da li je neko možda koristio ovo?

Konektovao sam se na LDAP, sada izgleda da imam samo problem oko postavljanja pretrage da traži user-a, a ne neki drugi objekat u stablu...
A vi,kako 'te?
 
Odgovor na temu

[es] :: .NET :: LDAP Autentifikacija

[ Pregleda: 1633 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.