TFS构建定义权限和组继承与具有多个组成员身份的用户

时间:2018-04-07 00:35:26

标签: tfs tfs2012

我有以下用户群

  • 助洗剂
    • 用户1
    • 用户2
  • 提供者
    • User1(注意这也是Builders的成员)
    • User2(注意这也是Builders的成员)
    • 用户3
    • 用户4
    • 用户5

以及以下构建定义(Dev构建定义多次使用prod构建定义)

  • Dev Builds
    • 构建定义01
    • 构建定义02
    • 构建定义03
    • 构建定义04
    • 构建定义05
  • Prod Builds
    • 构建定义51
    • 构建定义52

由于Dev构建定义多次超过prod构建定义,因此默认为"所有构建定义"级别是允许访问贡献者和构建者。我想拒绝贡献者访问Prod构建定义。但是,如果我明确拒绝,那么作为两个组成员的User1和User2将被拒绝"那种访问。我可以使用的唯一其他选项是"继承允许"和"允许"。怎么还能实现呢?我希望以这种方式保持默认值,以便除非没有其他方法,否则需要覆盖较少数量的构建定义。

这是一个典型的权限

  • 所有构建定义
    • 查看构建定义(选择其中一个样本权限)
    • 建筑商 - 允许
    • 投稿人 - 允许
  • Prod Build Definition之一
    • 查看构建定义(选择其中一个样本权限)
    • 构建器 - 继承允许(选项允许,拒绝,未设置)
    • 参与者 - 继承允许(选项为允许,拒绝,未设置)

以下是发生的事情

  • 继承人在贡献者处允许 - 所有用户都有权访问
  • 拒绝参与者 - 无论建筑商组的任何权限如何,用户1和用户2都将失去访问权限

1 个答案:

答案 0 :(得分:0)

这是预期的行为。根据TFS权限设置,大多数群组和几乎所有权限拒绝胜过允许。如果用户属于两个组,并且其中一个组具有设置为“拒绝”的特定权限,则该用户将无法执行需要该权限的任务,即使这些用户属于将该权限设置为“允许”的组。

详情您可以查看MSDN中的教程: About permissions and groups

要实现您的目标,您可以创建新组,例如 DenyProGroup 。将除贡献者中的user1 / user2之外的其他开发人员添加到此组。例如您的情况下的User3 / User4 / User5。

对于此组,将 View Build Definiton 权限设置为“拒绝”所有Prod构建定义。对于贡献者构建者,请将相同的权限设置为“允许”。保存的更改。然后user3 / 4/5将无法查看Prod Builds但是user1 / 2仍然有。