gpt4 book ai didi

.net - 从 Active Directory 获取用户的组成员资格

转载 作者:可可西里 更新时间:2023-11-01 13:30:49 25 4
gpt4 key购买 nike

如何从 AD 获取用户的组成员身份,最好使用与获取用户的 Department 属性相同的模式,如下所示?我找到了几个例子,但是所有例子技术的交集很小,缺乏这个部门查询的紧密性和简单性:

        var adServer = ConfigurationManager.AppSettings["adServer"] ?? "localhost";
var remoteRoot = new DirectoryEntry(GetRootPath(adServer));
var searcher = new DirectorySearcher(remoteRoot, string.Format("(SAMAccountName={0})", shortUserName));

searcher.PropertiesToLoad.Add("Department");
SearchResult result = null;
result = searcher.FindOne();

最佳答案

您使用的是 .NET 3.5 吗?如果是这样,那很容易:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "YOURDOMAIN");

string userName = "yourUser";

UserPrincipal user = UserPrincipal.FindByIdentity(ctx, userName);

PrincipalSearchResult<Principal> results = user.GetAuthorizationGroups();

找到您的用户,然后对您的用户主体调用 .GetAuthorizationGroups() - 返回用户所属的所有组,包括他的主要组和任何嵌套组成员身份。

看看这个 MSDN article了解 .NET 3.5 在处理 AD 方面的更多新优点。

在 .NET 2.0 中,事情变得更加困惑......

关于.net - 从 Active Directory 获取用户的组成员资格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1974023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com