管理用於建立或修改工作項目的使用權限
您可以藉由將 VALIDUSER 項目套用至人員名稱欄位,來控制哪些人員可建立或修改工作項目。 當您指定這個項目時,可以指定哪些使用者或使用者群組可指派為欄位值。 您可以設定這個項目支援選擇性的 group 屬性,以便指定已指派至欄位的使用者必須是指定之群組的直接或間接成員。 根據預設,欄位中可指定 [Team Foundation Valid Users] 群組的所有成員。
VALIDUSER 項目僅適用於 String 欄位型別。 您可以指定這個規則做為 FIELD (定義) 或 FIELD (工作流程) 項目的子項目。
本主題內容
人員名稱欄位
VALIDUSER 語法結構
VALIDUSER 屬性
藉由允許現有值保留供欄位使用,避免驗證錯誤
人員名稱欄位
只有在參考人員名稱欄位時,才能使用 VALIDUSER 規則。 下列系統欄位是人員名稱欄位範例:
啟動者 (System.ActivatedBy)
指派給 (System.AssignedTo)
授權身分 (System.AuthorizedAs)
變更者 (System.ChangedBy)
關閉者 (System.ClosedBy)
建立者 (System.CreatedBy)
除了系統欄位之外,您還可以建立自訂的字串欄位,做為人員名稱欄位使用。 此外,您也可以同步處理自訂的人員名稱欄位與 Active Directory。 如需詳細資訊,請參閱啟用個人姓名自訂欄位同步處理。
VALIDUSER 語法結構
使用 VALIDUSER 項目時,可以指定人員名稱欄位必須包含 [Team Foundation Valid Users] 群組或另一個指定之群組的成員名稱。
您可以分別針對 for 或 not 屬性指定使用者或群組,藉以允許或限制規則是否適用於正在修改工作項目的使用者。
<VALIDUSER group="groupName" for="userName" not="userName" />
所有屬性都是選擇性的。 所有屬性都必須由介於 1 到 255 個字元之間的文字字串所組成。 您可以使用語彙基元指定群組。 如需詳細資訊,請參閱使用語彙基元參考使用者和群組。
注意事項 |
---|
工作項目欄位無法辨別不同網域的使用者識別, 因此,如果在使用 VALIDUSER 規則的欄位中輸入 "Example1\jaepak" 和 "Example2\jaepak",此欄位會將這兩者視為是相同的使用者。 不過,Visual Studio Team Foundation Server 的其他地方可以依據網域來辨別使用者識別。 |
回到頁首
VALIDUSER 屬性
您可以指定是否限制適用 VALIDUSER 規則的人員。 如果您沒有定義其中一個選擇性屬性,Team Foundation Server 中的所有有效使用者和群組都可以修改欄位。
屬性 |
描述 |
---|---|
for |
選擇項。 指定適用規則之 Team Foundation 使用者或群組的名稱。 有效名稱由介於 1 到 255 個字元之間的文字字串所組成。 模式值:^[^\\]+\\[^\\]+$ 模式值範例:Domain\UserID |
not |
選擇性。 指定不適用規則之 Team Foundation 使用者或群組的名稱。 有效名稱由介於 1 到 255 個字元之間的文字字串所組成。 模式值:^[^\\]+\\[^\\]+$ 模式值範例:Domain\UserID |
group |
選擇項。 群組的名稱。 使用者可以指定這個群組的成員做為人員名稱群組的值。 有效名稱由介於 1 到 255 個字元之間的文字字串所組成。 模式值:^[^\\]+\\[^\\]+$ 模式值範例:Domain\GroupID |
回到頁首
藉由允許現有值保留供欄位使用,避免驗證錯誤
下列範例示範如何確定只有有效的使用者被指派給工作項目、將 [指派給] 欄位的預設值設為建立工作項目的使用者,以及提供包含 Team 專案 [Contributors] 群組成員的名稱挑選清單。 藉由指定 ALLOWEXISTINGVALUE 項目,可避免成員離開小組、不再註冊為專案參與者時,可能發生的驗證錯誤。
<FIELD name="Assigned To" refname="System.AssignedTo" type="String" syncnamechanges="true" reportable="dimension">
<HELPTEXT>The user who is working on this work item</HELPTEXT>
<ALLOWEXISTINGVALUE />
<VALIDUSER />
<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
<LISTITEM value="Active" />
<LISTITEM value="[project]\Contributors" />
</ALLOWEDVALUES>
<DEFAULT from="field" field="System.CreatedBy" />
</FIELD>