共用方式為


使用群組和權限外掛程式定義群組、小組和權限

您可以定義安全性群組來控制對 Team 專案中功能區域的存取。 除了 Visual Studio Team Foundation Server 中的預設安全性群組之外,您還可以自訂 Groups and Permissions 外掛程式來設定 Team 專案初始的群組、群組成員和安全性權限。 這個外掛程式,您可以定義群組、佇列、加入使用者和群組的成員指派給群組和授與使用權限給群組。

本主題描述用於 Groups and Permissions 外掛程式檔案之 groups, iterationPath, members, permissions, 和 teamsettings 項目的語法結構。 如需如何使用這些項目的詳細資訊,請參閱設定初始群組、小組、成員和權限

本主題內容

  • Groups 外掛程式的名稱和位置

  • 定義群組

  • 定義成員

  • 定義小組及小組設定

  • 定義權限

  • 群組項目參考

Groups 外掛程式的名稱和位置

Groups and Permission 外掛程式是由 GroupsandPermissions.xml 外掛程式檔案所定義,這個檔案必須符合 Gss.xsd 檔案中所定義的結構描述定義。 您可以從 Microsoft 網站的下列頁面下載流程範本的結構描述檔案:Visual Studio Team Foundation 的流程範本和工作項目 (英文)。

下表摘要列出 Microsoft Solutions Framework (MSF) 流程範本之檔案、資料夾和外掛程式的名稱。

檔案名稱:

GroupsandPermissions.xml

資料夾名稱:

群組和使用權限

外掛程式名稱:

Microsoft.ProjectCreationWizard.Groups

注意事項注意事項

您可以變更 XML 檔案和資料夾的名稱,但無法變更外掛程式的名稱。Visual Studio Team Foundation Server 並未包含部署用戶端外掛程式、原則或其他修改的機制。如果您想要部署這種功能,就必須使用您自己的散發與安裝程式。

在 Groups and Permissions 外掛程式中,您可以在 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 巨集在根部區域路徑建立預設小組。 您可以在 Classification 外掛程式檔案內的其他區域路徑變更為結構。 使用 teamsettings 項目,您可以預先設定反覆項目指派給小組。 插入下列程式碼片段。 在此範例中,三個反覆項目為預設小組所定義。

重要

您必須指派對應於 Classification 外掛程式檔案的路徑指定的反覆項目路徑。請參閱 在 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>

您也可以定義在 Team 專案內的其他小組。 您可以定義群組並將 isTeam 屬性設定為 true。 下列範例顯示如何定義小組和它的使用權限、成員和初始衝刺 (Sprint) 工作。 為 Team 專案的預設小組設定。

<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 安全性群組,讓其成員只能檢視 Team 專案的相關資訊,而不能進行修改。

<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>

回到頁首

群組項目參考

下表描述您用於定義 Team 專案之初始群組和權限的項目。 您可以在 Groups and Permissions 外掛程式檔案的 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:選擇項。 身為小組識別群組,支援小組組織其在 Team 專案內的工作。

  • description:需要時,群組不是小組。 指定群組的描述。 描述在 Team Web Access內安全性頁面隨即顯示。

group 是 groups 和 Children 的選擇性子項目。

定義群組或小組和它的使用權限和成員。

groups

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

groups 對於 Groups and Permissions 外掛程式,是 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 年 8 月

如需定義小組的資訊和有關之 isTeam 屬性的資訊儲存為小組指定群組。

內容 Bug 修正。