我正在开发一个使用 Windows 身份验证的 C# 和 ASP.Net 应用程序。
即在 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();
但是,我不知道如何使用他们的预 W2K 登录名搜索用户的 AD,或者以“someuser@somedomain.com.au”格式获取他们的登录名。
有任何想法吗?