仅使用域和用户名创建 WindowsIdentity
我正在构建一个使用当前用户的 WindowsIdentity 获取用户信息的网站。我从中获得的主要信息是 ssid。
我为当前用户执行此操作
IntPtr logonToken = WindowsIdentity.GetCurrent().Token;
WindowsIdentity windowsId = new WindowsIdentity(logonToken);
string ssid = windowsId.User.ToString();
,如下所示。我现在需要做的(但失败了)是获取域中存在的任意用户名的 ssid。
我尝试了 WindowsIdentity(string),但这给了我一个 SecurityException
提供的名称不是正确格式的帐户名称。
I am building a site that gets user information using the WindowsIdentity of the current user. The main info I get from this is the ssid.
I do this for the current users as follows
IntPtr logonToken = WindowsIdentity.GetCurrent().Token;
WindowsIdentity windowsId = new WindowsIdentity(logonToken);
string ssid = windowsId.User.ToString();
What I need to do now, and am failing at, is getting the ssid for any arbitrary username that exists on the domain.
I tried WindowsIdentity(string), but that gave me a SecurityException
The name provided is not a properly formed account name.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您如何格式化校长?通常,它们采用
[email protected]
,因此,如果您的 AD 在example.com
上提供主体解析,则用户主体名称 (UPN) 可能如下所示:[电子邮件受保护]
。WindowsIdentity(string)
构造函数接受 UPN,而不是旧格式的用户名EXAMPLE\joe.bloggs
How are you formatting the principal? Generally they take the form of
[email protected]
, so if your AD provides principal resolution on sayexample.com
, a user principal name (UPN) may look like:[email protected]
. TheWindowsIdentity(string)
constructor accepts a UPN, not an older format usernameEXAMPLE\joe.bloggs