我最近开始了一个项目,我必须针对Active Directory对用户进行身份验证。
使用身份验证模式=“Windows”。我设法登录并检索用户名。
@Context.User.Identity.Name
现在我想知道如何从登录的用户那里获取GUID。
我想在我自己的数据库中使用活动目录中的GUID来使其成员唯一。
答案 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中使用用户和群组变得非常容易: