仅使用域和用户名创建 WindowsIdentity

发布于 2024-11-05 13:04:28 字数 435 浏览 2 评论 0原文

我正在构建一个使用当前用户的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不羁少年 2024-11-12 13:04:28

您如何格式化校长?通常,它们采用 [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 say example.com, a user principal name (UPN) may look like: [email protected]. The WindowsIdentity(string) constructor accepts a UPN, not an older format username EXAMPLE\joe.bloggs

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文