Ik heb nu de volgende code die wat gegevens van de user ophaalt uit de AD:
Lokaal werkt hij perfect tijdens het bouwen, onze testserver staat in een DMZ dus daar kan ik het niet goed testen, en bij de klant zit de server weer wel in het domein en werkt het niet. Daar heb ik daarom ook de catch gecastreerd en zitten ze alleen tegen een leeg blokje met user gegevens aan te kijken, waardoor ze iig de rest kunnen testen.
Ik heb de anonymous access op IIS niveau ge-enabled met een AD user, en de site werkt nog steeds. Kortom, hij draait nu wel onder een (normale) AD user, maar alsnog haalt hij de gegevens niet op van de bezoekende users.
Ik ga nog eens met een nette catch de code er op zetten, dat ik de foutmelding kan zien zonder dat ik het testen verstoor, die plak ik er zo ook nog even in.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| try { // Get information from AD DirectorySearcher ds = new DirectorySearcher(); //ds.SearchRoot = new DirectoryEntry("LDAP://DC=**ONSDOMEIN**"); // onze dc //ds.SearchRoot = new DirectoryEntry("LDAP://RootDSE"); //ds.Filter = String.Format("(&(objectCategory=user)(SAMAccountName={0}))", ExtractUserName(HttpContext.Current.User.Identity.Name)); // ds.Filter = "(objectCategory=user)"; string userName = ExtractUserName(HttpContext.Current.User.Identity.Name); ds.Filter = String.Format("(SAMAccountName={0})", userName); // this will get names of only those properties to which a value is set // ds.PropertyNamesOnly = true; ds.PropertiesToLoad.Add("givenName"); ds.PropertiesToLoad.Add("CN"); ds.PropertiesToLoad.Add("name"); ds.PropertiesToLoad.Add("mail"); SearchResult result = ds.FindOne(); if (result != null) { HttpContext.Current.Session["UserName"] = result.GetDirectoryEntry().Name.Substring(3); HttpContext.Current.Session["UserEmail"] = result.Properties["mail"][0].ToString(); ; } } catch (Exception ex) { throw ex; } |
Lokaal werkt hij perfect tijdens het bouwen, onze testserver staat in een DMZ dus daar kan ik het niet goed testen, en bij de klant zit de server weer wel in het domein en werkt het niet. Daar heb ik daarom ook de catch gecastreerd en zitten ze alleen tegen een leeg blokje met user gegevens aan te kijken, waardoor ze iig de rest kunnen testen.
Ik heb de anonymous access op IIS niveau ge-enabled met een AD user, en de site werkt nog steeds. Kortom, hij draait nu wel onder een (normale) AD user, maar alsnog haalt hij de gegevens niet op van de bezoekende users.
Ik ga nog eens met een nette catch de code er op zetten, dat ik de foutmelding kan zien zonder dat ik het testen verstoor, die plak ik er zo ook nog even in.
iOS developer