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"];
現在のログイン名 (Windows 2000 以前のユーザーのログイン名ではない) を使用して、ユーザーの LDAP クエリを作成しました。
DirectorySearcher adSearch = new DirectorySearcher(
"(userprincipalname=someuser@somedomain.com.au)");
SearchResult adSearchResult = adSearch.FindOne();
ただし、W2K 以前のログイン名を使用してユーザーの AD を検索する方法、または「someuser@somedomain.com.au」形式でログイン名を取得する方法がわかりません。
何か案は?