仅使用域和用户名创建WindowsIdentity

时间:2011-05-09 07:03:47

标签: c# asp.net windows-identity

我正在构建一个使用当前用户的WindowsIdentity获取用户信息的站点。我从中得到的主要信息是ssid。

我为当前用户执行此操作,如下所示

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

我现在需要做的是,并且失败了,就是获取域中存在的任意用户名的ssid。

我尝试了WindowsIdentity(字符串),但这给了我一个SecurityException

  

提供的名称不是正确形成的帐户名称。

1 个答案:

答案 0 :(得分:5)

你是如何格式化校长的?通常它们采用user@domain.ext的形式,因此如果您的AD提供了example.com的主要解决方案,则用户主体名称(UPN)可能如下所示:joe.bloggs@example.comWindowsIdentity(string)构造函数接受UPN,而不是较旧格式的用户名EXAMPLE\joe.bloggs