8

現在のユーザーの WindowsIdentity を使用してユーザー情報を取得するサイトを構築しています。これから得られる主な情報はssidです。

次のように現在のユーザーに対してこれを行います

IntPtr logonToken = WindowsIdentity.GetCurrent().Token;
WindowsIdentity windowsId = new WindowsIdentity(logonToken);
string ssid = windowsId.User.ToString();

私が今しなければならないこと、そして失敗していることは、ドメインに存在する任意のユーザー名の ssid を取得することです。

WindowsIdentity(string) を試しましたが、SecurityException が発生しました

指定された名前は、適切な形式のアカウント名ではありません。

4

1 に答える 1

6

プリンシパルをどのようにフォーマットしていますか?通常、それらは の形式を取るため、user@domain.extたとえば で AD がプリンシパル解決を提供する場合example.com、ユーザー プリンシパル名 (UPN) は次のようになりますjoe.bloggs@example.com。コンストラクターは、WindowsIdentity(string)古い形式のユーザー名ではなく、UPN を受け入れますEXAMPLE\joe.bloggs

于 2011-05-09T07:26:08.200 に答える