Я работаю над приложением C # и ASP.Net, которое использует проверку подлинности Windows.
т.е. в Web.config:
<system.web>
<authentication mode="Windows" />
</system.web>
Я хочу получить информацию о текущем пользователе (полное имя, адрес электронной почты и т. Д.) Из Active Directory.
Я могу получить имя пользователя до Windows 2000 (например, SOMEDOMAIN\someuser
), используя
string username = HttpContext.Current.Request.ServerVariables["AUTH_USER"];
Я обработал запрос LDAP для пользователя, используя его текущее имя для входа (а не его имя для входа до Windows 2000):
DirectorySearcher adSearch = new DirectorySearcher(
"(userprincipalname=someuser@somedomain.com.au)");
SearchResult adSearchResult = adSearch.FindOne();
Однако я не знаю, как выполнить поиск AD для пользователя, используя его имя для входа до W2K, или получить его имя в формате someuser@somedomain.com.au.
Есть идеи?