我有两个 AD 组,分别是 Group1 和 Group2。我通过 Windows 应用程序将相同的用户添加到这些组中。我有文件夹说 abc 我附加了 AD Group1。在 abc 中,我创建了一个子文件夹 abcd 并通过禁用继承属性来附加 AD Group2。当尝试使用用户凭据访问该文件夹时,我可以访问 abc 但是当尝试访问 abcd 文件夹时出现异常,因为访问被拒绝。此异常的原因是什么,解决方案是什么?
问问题
107 次
1 回答
0
您总是可以测试以查看用户是否是组 1 和组 2 的成员....
像这样的东西:
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
// find a user
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "SomeUserName");
if(user != null)
{
GroupPrincipal group1 = GroupPrincipal.FindByIdentity(ctx, "group1");
if(group1 != null)
{
bool userIsMemberOfGroup1 = user.IsMemberOf(group1);
}
GroupPrincipal group2 = GroupPrincipal.FindByIdentity(ctx, "group2");
if(group2 != null)
{
bool userIsMemberOfGroup2 = user.IsMemberOf(group2);
}
}
这样,您永远不需要枚举用户所属的所有组 - 只需检查您感兴趣的那些组,
您应该检查System.DirectoryServices.AccountManagement
(S.DS.AM) 命名空间。在这里阅读所有相关信息:
新的 S.DS.AM 使得在 AD 中与用户和组一起玩变得非常容易!
于 2012-10-24T15:35:19.070 回答