【发布时间】:2023-09-16 16:16:01
【问题描述】:
我有一个 ASP.NET Framework 4.5 应用程序,它具有以下功能来检查用户是否是 AD 组的成员:
public static bool IsUserGroupMember(string userName, string groupName)
{
string domain = "ad.our.org";
string defaultOU = "OU=Our_Department,DC=ad,DC=our,DC=org";
PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, domain, defaultOU, ContextOptions.SimpleBind);
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(principalContext, userName);
GroupPrincipal groupPrincipal = GroupPrincipal.FindByIdentity(principalContext, groupName);
return oGroupPrincipal.Members.Contains(oUserPrincipal);
}
但是,这仅在用户直接是该组的成员而不是嵌套在该组中的另一个组的成员时才有效。
希望得到修复此代码的帮助,以通过组内的每个嵌套组递归检查成员资格。我在 * 中查看了类似问题的答案,但不知道如何最好地修改我的函数以使其正常工作。
谢谢。
【问题讨论】:
-
对于嵌套组,我认为这是更好的解决方案*.com/a/31725157/374133
标签: c# asp.net-mvc active-directory directoryservices