我正在构建一个使用当前用户的WindowsIdentity获取用户信息的站点。我从中得到的主要信息是ssid。
我为当前用户执行此操作,如下所示
IntPtr logonToken = WindowsIdentity.GetCurrent().Token;
WindowsIdentity windowsId = new WindowsIdentity(logonToken);
string ssid = windowsId.User.ToString();
我现在需要做的是,并且失败了,就是获取域中存在的任意用户名的ssid。
我尝试了WindowsIdentity(字符串),但这给了我一个SecurityException
提供的名称不是正确形成的帐户名称。
答案 0 :(得分:5)
你是如何格式化校长的?通常它们采用user@domain.ext
的形式,因此如果您的AD提供了example.com
的主要解决方案,则用户主体名称(UPN)可能如下所示:joe.bloggs@example.com
。 WindowsIdentity(string)
构造函数接受UPN,而不是较旧格式的用户名EXAMPLE\joe.bloggs