Ik ben bezig met een systeem welke gebruik maakt van de LDAP.
Situatie is als volgt:
Bij het laden van mijn default.aspx haal ik de huidige web gebruiker op:
Resultaat hiervan is: [DOMAIN][USER]
bijvoorbeeld: test\FGriffioen
Ik ga dan met die UserIdentity kijken of deze lid is van een ActiveDirectory Group
Ik doe dan het een en ander met de logonUseridentity name, dit gaat allemaal goed.
Maar nu komt het probleem waar ik mee zit.
Wat ik namelijk nu wil is op een aspx pagina een dropdownlist maken met hierin alle ActiveDirectory users. Hiervoor gebruik ik de volgende code:
Ik krijg dan een lijst met de namen van de users, voorbeeld
Nu kan ik begrijpen dat dat het resultaat is, want dat is mijn naam.
Maar kan dit niet gebruiken omdat ik straks moet gaan vergelijken tussen 'QBIT\GriffioenF' en 'CN=Ferdy Griffioen'.
Dus ik dacht ik haal ipv name de username op uit de ChildNode, misschien gaat dat beter. Ik heb dit gedaan dmv:
Echter om 1 of andere vage reden zijn deze helemaal leeg.
Na wat nadenken zie ik 2 mogelijke oplossingen:
1.
Het uitlezen van alle users uit de AD is fout en dit moet ik fixen zodat de output het zelfde is als output van
Echter ik ben al druk bezig geweest met zoeken en kan niet echt suitable voorbeelden oid vinden op het internet.
2.
Tijdens het uitlezen van mijn huidige webuser (dmv):
deze user op 1 of andere manier koppelen aan een AD user en hier het een en ander mee gaan doen ipv wat ik nu doe. (dus ipv : "test\FGriffioen" werk ik dan met "CN=Ferdy Griffioen").
Echter dan moet ik ook gaan kijken of 'CN=Ferdy Griffioen' lid is van groepen op de AD en dit ook niet echt lukken.
Het lijkt me dat optie 2 beter is, maar hoe dit precies uitgevoerd moet worden is een raadsel bij mij.
Ik hoop dat jullie mede-tweakers kunnen helpen, en hoop ook dat ik genoeg info heb gegeven (anders hoor ik het wel).
Situatie is als volgt:
Bij het laden van mijn default.aspx haal ik de huidige web gebruiker op:
C#:
1
| HttpContext.Current.Request.LogonUserIdentity.Name |
Resultaat hiervan is: [DOMAIN][USER]
bijvoorbeeld: test\FGriffioen
Ik ga dan met die UserIdentity kijken of deze lid is van een ActiveDirectory Group
C#:
1
| HttpContext.Current.Request.LogonUserIdentity.Groups |
Ik doe dan het een en ander met de logonUseridentity name, dit gaat allemaal goed.
Maar nu komt het probleem waar ik mee zit.
Wat ik namelijk nu wil is op een aspx pagina een dropdownlist maken met hierin alle ActiveDirectory users. Hiervoor gebruik ik de volgende code:
C#:
1
2
3
4
5
6
7
8
9
| DirectoryEntry domain = new DirectoryEntry("LDAP://[DOMAIN].[EX]/OU=Medewerkers,DC=[DOMAIN],DC=[EX]"); List<string> result = new List<string>(); foreach (DirectoryEntry child in domain.Children) { result.Add(child.Name); } return result; |
Ik krijg dan een lijst met de namen van de users, voorbeeld
code:
1
| CN=Ferdy Griffioen |
Nu kan ik begrijpen dat dat het resultaat is, want dat is mijn naam.
Maar kan dit niet gebruiken omdat ik straks moet gaan vergelijken tussen 'QBIT\GriffioenF' en 'CN=Ferdy Griffioen'.
Dus ik dacht ik haal ipv name de username op uit de ChildNode, misschien gaat dat beter. Ik heb dit gedaan dmv:
C#:
1
2
3
4
5
6
7
8
9
| DirectoryEntry domain = new DirectoryEntry("LDAP://[DOMAIN].[EX]/OU=Medewerkers,DC=[DOMAIN],DC=[EX]"); List<string> result = new List<string>(); foreach (DirectoryEntry child in domain.Children) { result.Add(child.Username); } return result; |
Echter om 1 of andere vage reden zijn deze helemaal leeg.
Na wat nadenken zie ik 2 mogelijke oplossingen:
1.
Het uitlezen van alle users uit de AD is fout en dit moet ik fixen zodat de output het zelfde is als output van
C#:
1
| HttpContext.Current.Request.LogonUserIdentity.Name |
Echter ik ben al druk bezig geweest met zoeken en kan niet echt suitable voorbeelden oid vinden op het internet.
2.
Tijdens het uitlezen van mijn huidige webuser (dmv):
C#:
1
| HttpContext.Current.Request.LogonUserIdentity.Name |
deze user op 1 of andere manier koppelen aan een AD user en hier het een en ander mee gaan doen ipv wat ik nu doe. (dus ipv : "test\FGriffioen" werk ik dan met "CN=Ferdy Griffioen").
Echter dan moet ik ook gaan kijken of 'CN=Ferdy Griffioen' lid is van groepen op de AD en dit ook niet echt lukken.
Het lijkt me dat optie 2 beter is, maar hoe dit precies uitgevoerd moet worden is een raadsel bij mij.
Ik hoop dat jullie mede-tweakers kunnen helpen, en hoop ook dat ik genoeg info heb gegeven (anders hoor ik het wel).
[ Voor 6% gewijzigd door Griffin op 16-06-2009 13:25 . Reden: Info toevoegen ]