在 mvc3 c# 项目中检索 AD 信息

发布于 2025-01-04 07:28:07 字数 220 浏览 2 评论 0原文

我最近启动了一个项目,必须根据 Active Directory 对用户进行身份验证。

使用身份验证模式=“Windows”。我成功登录并检索了用户名。

@Context.User.Identity.Name

现在我想知道如何从登录的用户那里获取 GUID。

我想使用我自己的数据库中的活动目录中的 GUID 来使其成员唯一。

I recently started a project where I have to authenticate users against the Active Directory.

Using authentication mode="Windows". I managed to login and retrieve the user name.

@Context.User.Identity.Name

Now I was wondering how I could get the GUID from the user that is logged in.

I want to use the GUID from the active directory in my own database to make its members unique.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

深居我梦 2025-01-11 07:28:07

由于您使用的是 .NET 3.5 及更高版本,因此您应该检查 System.DirectoryServices.AccountManagement (S.DS.AM) 命名空间。在这里阅读所有相关内容:

基本上,您可以定义域上下文并轻松查找 AD 中的用户和/或组:

// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// find a user
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, User.Identity.Name);

if(user != null)
{
   // do something here ... like grabbing the GUID
   var userGuid = user.Guid;
}

新的 S.DS.AM 使在 AD 中使用用户和组变得非常容易:

Since you're on .NET 3.5 and up, you should check out the System.DirectoryServices.AccountManagement (S.DS.AM) namespace. Read all about it here:

Basically, you can define a domain context and easily find users and/or groups in AD:

// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// find a user
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, User.Identity.Name);

if(user != null)
{
   // do something here ... like grabbing the GUID
   var userGuid = user.Guid;
}

The new S.DS.AM makes it really easy to play around with users and groups in AD:

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