禁用安全性標籤與值
如果不再需要安全性標籤或標準安全性標籤值,則應在安全性標籤組態檔案中禁用它。除非刪除標籤或值,否則仍會強制執行已禁用的安全性標籤與安全性標籤值。
已禁用的安全性標籤:
• 不會顯示在新物件建立視窗上。
• 會顯示為「物件清單」表中的欄,您也可以從「編輯安全性標籤」視窗中找到該欄。針對標準安全性標籤,只會顯示安全性標籤的目前非空值與空值,並且只可選擇空值。針對自訂安全性標籤,只會顯示目前的非空值與空白值,並且只可選擇空白值。在標籤包含空值後,已禁用標籤的欄將無法再進行編輯。
已禁用的標準安全性標籤值:
• 不會顯示在新物件建立視窗上的安全性標籤的可選擇值清單中。
• 只有當它是安全性標籤的目前值時,才會顯示在現有物件的「編輯安全性標籤」視窗上。一旦標籤值變更,已禁用的值便不再顯示,也不可選取。
禁用安全性標籤或標籤值
欲禁用安全性標籤或標準安全性標籤值,請完成以下步驟:
1. 在安全性標籤組態檔案中將安全性標籤或標準安全性標籤值標記為禁用。
◦ 針對安全性標籤,將 SecurityLabel 或 CustomSecurityLabel 標籤的 enabled 參數從 true 變更為 false,例如:
<SecurityLabel name="EXPORT_CONTROL" enabled="false">
◦ 針對標準安全性標籤值,將 SecurityLabelValue 標籤的 enabled 參數從 true 變更為 false,例如:
<SecurityLabelValue name="UNK" enabled="false">
2. 變更或移除用於指定已禁用安全性標籤或標籤值的任何物件初始化規則。
3. 重新啟動應用伺服器,以使組態變更生效。
|
如果您選擇允許將個別的安全性標籤配置為自訂表格檢視中的選用欄,將禁用的安全性標籤作為欄新增至其表格檢視的使用者必須從其表格檢視中移除已禁用的安全性標籤欄。如果使用者不移除欄,則會顯示安全性標籤的內部名稱而不是顯示名稱。如需有關選用組態的詳細資訊,請參閱 步驟 17:在表格檢視中顯示個別安全性標籤 - 選用。
|
移除已禁用的安全性標籤或標籤值
如果您選擇從安全性標籤組態檔案中徹底移除安全性標籤或標準安全性標籤值,而不是單純地禁用它,您必須先確保已移除安全性標籤或標準安全性標籤值的所有使用,包括在物件初始化規則、專案或方案範本、載入檔案以及匯入檔案中。如果物件上的安全性標籤設定包含不在安全性標籤組態檔案中的標籤或標準安全性標籤值,存取物件時隨時都會發生例外。
若要移除安全性標籤的使用,請將安全性標籤的所有使用變更為其空值。
若要移除安全性標籤值的使用,請將該標籤值的所有使用變更為安全性標籤的空值,或變更為將保持啟用狀態的標籤值。
若要確保您已找到並移除安全性標籤或標籤值 (在安全性標籤物件上設定) 的所有使用,請查詢資料庫。例如,您可以執行以下 SQL 查詢:
針對安全性標籤:
SELECT classnameA2A2, idA2A2, securityLabels FROM <TABLE_NAME> WHERE
securityLabels LIKE '%<SECURITY_LABEL_NAME>%';
針對安全性標籤值:
SELECT classnameA2A2, idA2A2, securityLabels FROM <TABLE_NAME> WHERE
securityLabels LIKE '%<SECURITY_LABEL_VALUE>%';
其中
• <SECURITY_LABEL_NAME> 是您要查詢的安全性標籤的名稱。此值應符合在安全性標籤組態檔案中使用的 SecurityLabel 元素之 name 屬性值。
• <SECURITY_LABEL_VALUE> 是您要查詢的安全性標籤值的名稱。此值應符合在安全性標籤組態檔案中使用的 SecurityLabelValue 元素之 name 屬性值。
• <TABLE_NAME> 代表安全性標籤物件類型的表格名稱。使用下列流程找到物件類型的對應表格名稱:
1. 在 windchill shell 中執行以下指令:
infoReport <CLASS>
其中的 <CLASS> 是在 <Windchill>/conf/exposedSecurityLabelObjects.xml 組態檔案中所使用的物件類別名稱。例如,如果物件的類別名稱為 wt.doc.WTDocument,請執行以下指令:
infoReport wt.doc.WTDocument
2. 在文字編輯器中開啟報告輸出。
3. 在報告輸出中,找到開頭的一行:
getBaseTableInfo().getTablename()
此項目的值是要在以上資料庫查詢中的 <TABLE_NAME> 位置使用的表格名稱。例如,從 wt.doc.WTDocument 的輸出中,該行為:
getBaseTableInfo().getTablename() : WTDocument
|
在資料庫中,會將套用至物件的所有安全性標籤名稱與值合併為單一字串。萬用字元 % 可使查詢找到包含要查詢的安全性標籤名稱或值的每一個資料庫表格行。
|
針對每個物件類型,以及每個要刪除的安全性標籤或標籤值,對表格執行 SQL 查詢。
移除安全性標籤名稱或標準安全性標籤值的所有使用之後,請從安全性標籤組態檔案中刪除安全性標籤或標準安全性標籤值。您也應該從資源資訊檔案,以及在組態期間參考安全性標籤或標準安全性標籤值的其他檔案中,移除安全性標籤或標準安全性標籤值的任何參考。如需指定此資訊的特定檔案與位置的資訊,請參閱
配置安全性標籤。
禁用安全性標籤功能
將安全性標籤組態檔案中 SecurityLabelsConfiguration 標籤的 enabled 參數從 true 變更為 false,並重新啟動應用伺服器,可以全域禁用安全性標籤功能。即使已禁用現有安全性標籤的功能,仍可保持其設定。
|
即使已全域禁用安全性標籤功能,在組態檔案中針對每個安全性標籤指定的資源鍵必須存在於 accessModelRB.rbInfo 檔案中,應用伺服器方能啟動。在任何現有物件上設定的安全性標籤與標準安全性標籤值,也都必須在安全性標籤組態檔案中,方能存取物件。如果已禁用安全性標籤功能,則不會強迫使用安全性標籤,且安全性標籤與協定不會顯露在 Windchill 使用者介面中。
|
將多值標準安全性標籤轉換為單一值標準安全性標籤
欲將多值標準安全性標籤轉換為單一值標準安全性標籤,請從安全性標籤組態檔案中的 SecurityLabel 元素移除 MultiValueLogicalOperator 標籤。在執行轉換前,必須首先確保沒有一個物件、物件初始化規則、專案或方案範本、載入檔案和匯入檔案將多個值套用於您希望轉換的安全性標籤。