【问题标题】:AD Group Folder AccessAD 组文件夹访问
【发布时间】:2012-10-14 10:27:48
【问题描述】:

我有两个 AD 组,分别是 Group1 和 Group2。我通过 Windows 应用程序将相同的用户添加到这些组中。我有文件夹说 abc 我附加了 AD Group1。在 abc 中,我创建了一个子文件夹 abcd 并通过禁用继承属性来附加 AD Group2。当尝试使用用户凭据访问该文件夹时,我可以访问 abc 但是当尝试访问 abcd 文件夹时出现异常,因为访问被拒绝。这个异常的原因是什么,解决方法是什么?

【问题讨论】:

    标签: permissions active-directory directory subdirectory


    【解决方案1】:

    您总是可以只测试用户是否是组 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 中与用户和组一起玩变得非常容易!

    【讨论】:

    • 我使用了不需要发送用户凭据的 Windows 身份验证机制,AD 会自动完成。但是,当同一用户存在于两个组中时,其中一个组可以访问父文件夹,而第二组可以访问子文件夹,那么我会遇到异常,您没有权限/权限。
    猜你喜欢
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2017-06-17
    • 1970-01-01
    • 2013-03-30
    • 2020-04-06
    • 1970-01-01
    相关资源
    最近更新 更多