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

时间:2012-02-09 11:22:51

标签: c# asp.net-mvc-3 active-directory

我最近开始了一个项目,我必须针对Active Directory对用户进行身份验证。

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

@Context.User.Identity.Name

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

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

1 个答案:

答案 0 :(得分:2)

由于您使用的是.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中使用用户和群组变得非常容易: