使用组和权限插件定义组、团队和权限

您可以定义安全组以控制对团队项目中的功能性区域的访问。 除了 Visual Studio Team Foundation Server 中的默认安全组之外,可通过自定义“组和权限”插件来配置团队项目的初始组、组成员和安全权限。 此插件,可以定义组,团队,将组和用户作为成员添加到组以及授予组权限。

本主题介绍 groups的语法结构,iterationPath、memberspermissions和用于文件为"组和权限"插件中的 teamsettings 元素。 有关如何使用这些元素的更多信息,请参见配置初始组、团队、成员和权限

主题内容

  • “组”插件的名称和位置

  • 定义组

  • 定义成员

  • 定义团队和团队设置

  • 定义权限

  • Groups 元素参考

组"插件的名称和位置

“组和权限”插件由 GroupsandPermissions.xml 插件文件定义,该文件必须遵循 Gss.xsd 文件中定义的架构定义。 您可以从 Microsoft 网站上的以下页面下载过程模板的架构文件:Process Template and Work Item Schemas for Visual Studio Team Foundation(Visual Studio Team Foundation 的过程模板和工作项架构)。

下表总结了 Microsoft Solutions Framework (MSF) 过程模板的文件名、文件夹名称和插件名称。

文件名:

GroupsandPermissions.xml

文件夹名称:

组和权限

插件名称:

Microsoft.ProjectCreationWizard.Groups

备注

可以更改 XML 文件和文件夹的名称,但不能更改插件名称。Visual Studio Team Foundation Server 并不包括用于部署客户端插件、策略或其他修改的机制。如果您希望部署此类功能,则必须使用您自己的分发和安装程序。

在“组和权限”插件中,在 taskXml 元素内指定一项或多项任务及其依赖项。 通常,为每个要为您的过程创建的安全组指定一个任务。 有关如何指定任务的更多信息,请参见定义用于处理插件的任务

返回页首

定义组

使用 group 元素指定 Team Foundation Server 中的新安全组。

<group name="GroupName" description="GroupDescription"></group>

下面的示例演示如何创建一个名为 Reader 的组:

<task id="GroupCreation1" 
      name="Create Groups and Permissions" 
      plugin="Microsoft.ProjectCreationWizard.Groups" 
      completionMessage="Groups and Permissions created.">
   <taskXml>
      <groups>
         <group name="Readers"
                description="A group for users who have read access across the project">
            <permissions>
               <!-- permissions -->
            </permissions>
         </group>
      </groups>
   </taskXml>
</task>

返回页首

定义成员

使用 member 元素将某个组指派为 Team Foundation Server 中的安全组成员。

<member name="MemberName" ></member>

备注

是团队的组 (isTeam="true") 不能是组的成员。

下面的示例演示如何将 TestGroup1 添加为 TestGroup2 的成员。

<task id="GroupCreation1" 
    <taskXml>
      <groups>
        <group name="TestGroup1" description="Test group 1.  Contains no members out of the box.">
          <permissions>
            <permission name="GENERIC_READ" class="PROJECT" allow="true" />
          </permissions>
        </group>
        <group name="TestGroup2" description="Test group 2.  Contains TestGroup1 and Project Administrators.">
          <permissions>
            <permission name="GENERIC_READ" class="PROJECT" allow="true" />
          </permissions>
          <members>
            <member name="TestGroup1" />
            <member name="$$PROJECTADMINGROUP$$" />
          </members>
        </group>
      </groups>
    </taskXml>
</task>

返回页首

定义团队和团队设置

在默认值组和权限插件文件中,@defaultTeam 宏在根部区域路径创建默认团队值。 可以通过在分类插件文件中的其他区域路径更改此结构。 使用 teamsettings 元素,则可以预配置迭代指派给团队。 该插件使用下面的代码段。 在此示例中,三个迭代数默认值的团队项目而定义。

重要

您必须分配对应于 classification 插件文件分配的路径的迭代路径。请参见 在分类插件中定义初始区域和迭代

<group name="@defaultTeam">
   <permissions>
      <permission name="GENERIC_READ" class="PROJECT" allow="true" />
   </permissions>
   <members>
      <member name="@creator"/>
   </members>
   <teamSettings areaPath="Area">
      <iterationPaths backlogPath="Iteration">
         <iterationPath path="Iteration 1" />
         <iterationPath path="Iteration 2" />
         <iterationPath path="Iteration 3" />
      </iterationPaths>
   </teamSettings>
</group>

您还可以在团队项目中的其他团队。 通过定义组并分配 isTeam 属性执行到 true。 下面的示例演示如何定义团队及其权限、成员和初始冲刺 (sprint) 分配。 为团队项目指定默认值团队设置。

<group name="Dream Team" isTeam="true" description="Next generation work">
   <permissions>
      <permission name="GENERIC_READ" class="PROJECT" allow="true" />
   </permissions>
   <members>
      <member name="@creator"/>
   </members>
   <teamSettings areaPath="Area">
      <iterationPaths backlogPath="Iteration">
         <iterationPath path="Iteration 1" />
         <iterationPath path="Iteration 2" />
         <iterationPath path="Iteration 3" />
      </iterationPaths>
   </teamSettings>
</group>

定义权限

必须为创建的每个组指定权限。 为此,请使用 permission 元素。

<permission name="PermissionName" class="ClassName" allow="true | false"/>

下面的示例演示如何向 Reader 安全组授予权限,使成员可以查看团队项目相关信息,但不能修改该信息。

<group name="Readers" description="A group for users who have read access across the project">
   <permissions>
     <permission name="GENERIC_READ" class="PROJECT" allow="true" />
     <permission name="GENERIC_READ" class="CSS_NODE" allow="true" />
     <permission name="WORK_ITEM_READ" class="CSS_NODE" allow="true" />
   </permissions>
</group>

返回页首

Groups 元素参考

下表介绍用来定义团队项目的初始组和权限的元素。 在“组和权限”插件文件中的 taskXml 容器元素内指定这些元素。 有关此元素的信息,请参见定义用于处理插件的任务

警告

Gss.xsd 架构文件不定义 property 或 properties 元素。当您上载过程模板时,过程模板管理器会先验证这些元素,然后再在 Team Foundation Server 中存储这些元素。

groups 和 group(组和权限)元素与 groups 和 group(过程模板)元素完全不同。有关后面的元素对的信息,请参见 ProcessTemplate XML 元素引用

group

<group name="GroupName" isTeam="true | false" description="GroupDescription">
   <permissions> . . . </permissions>
   <members> . . . </members>
</group>

以下指向有关每个特性:

  • name:必需。 指定组的名称。 组名称的长度必须在 1 到 255 个字符之间。

  • isTeam:可选。 就象团队标识组,支持小的组组织它们在团队项目中的工作。

  • description:必需,如果组不是团队。 指定该组的说明。 该声明在 Team Web Access内安全将显示页。

group 是 groups 和 Children 的可选子元素。

定义组或团队及其权限和成员。

groups

<groups>
   <group> . . . </group>
</groups>

groups 是“组和权限”插件的 taskXml 的必需子元素。

包含组和权限定义。

iterationPath

<iterationPath path="IterationName" />

iterationPath 是 iterationPaths 的一个必选子元素。

指定团队里程碑。

iterationPaths

<iterationPaths backlogPath="BacklogPathName">
. . .      </iterationPaths>

iterationPaths 是 teamsettings 的可选子元素。

指定团队里程碑。

member

<member name="MemberName" ></member>

有关如何指定默认组的信息,请参见 Team Foundation Server 中定义的组宏和默认组

member 是 members 的一个必选子元素。

指定要添加为另一个组的成员的某个组的名称。 可以创建组,并在组中自动填充 Team Foundation Server 中的默认组、先前定义的项目组以及 Active Directory 中的组和用户。

members

<members>
   <member> . . . </member>
</members>

members 是 group 的可选子元素。

指定要添加到组的成员的集合。

permission

<permission name="PermissionName" class="ClassName" allow="true | false" />

其中,将对每个特性应用以下定义:

  • name:必需。 指定权限的名称。 有关更多信息,请参见配置初始组、团队、成员和权限中的表,该表介绍可指定为权限的每个类和名称组合。

  • class:必需。 标识要在其中授予组权限的类或区域。 下面的值有效:NAMESPACE (集合级别),PROJECT (项目级别),CSS_NODE (区域节点) 和 ITERATION_NODE (迭代节点)。

  • allow:可选。 指定 true 或 false 值,该值指示您是否允许权限。

permission 是 permissions 的一个必选子元素。

指定要应用于组的权限。

permissions

<permissions >
   <permission> . . . </permissions>
</permissions >

permissions 是 group 的一个必选子元素。

指定要应用于组的权限集合。

teamsettings

<teamSettings areaPath="Area">
. . .
</teamSettings>

teamsettings 是 group 的可选子元素。

配置团队项目,默认值团队还可以选择指定与 iterationPath 元素的团队里程碑。

返回页首

请参见

概念

配置初始组、团队、成员和权限

控制对功能区域的访问

配置用户、组和权限

在过程模板中自定义功能区域

其他资源

管理创建或修改工作项的权限

修订记录

日期

修订记录

原因

2012 年八月

有关定义团队的纠正的信息以及有关使用的 isTeam 属性添加了的信息就象团队指定组。

内容 Bug 修复。