专业化管理 > 确保数据安全 > 安全标签和协议 > 配置安全标签 > 安全标签配置步骤 > 步骤 6. 编辑安全标签配置文件 - 必需 > CustomSecurityLabel 元素
  
CustomSecurityLabel 元素
CustomSecurityLabel 元素中包含的内容有:用于定义自定义安全标签的数据、自定义安全标签值的授权参与者 (仅限不包括所有用户时)、与自定义安全标签值相关联的协议类型、用于处理自定义安全标签的应用程序和服务所使用的各种映射。配置的每个自定义安全标签都应具有一个 CustomSecurityLabel 元素。例如:
<CustomSecurityLabel name="THIRD_PARTY_PROPRIETARY" enabled="true">
<SecurityLabelResourceKey>WCTYPE|wt.access.SecurityLabeled~SCA|
THIRD_PARTY_PROPRIETARY</SecurityLabelResourceKey>
<CustomSecurityLabelValues>
<UnrestrictedPrincipal>
<ufid>cn=Employees,cn=Public,ou=people,cn=AdministrativeLdap,
cn=Windchill_10.1,o=ptc|Ldap.ptcnet.ptc.com|
Ldap.ptcnet.ptc.com</ufid>
<evaluatorClass>
com.ourcompany.CustomEvaluator
</evaluatorClass>
</UnrestrictedPrincipal>
<TranslatorClass>
com.ourcompany.CustomTranslator
</TranslatorClass>
</CustomSecurityLabelValues>
<SecurityLabelParameter>THIRD_PARTY_PROPRIETARY</SecurityLabelParameter>
</CustomSecurityLabel>
CustomSecurityLabel 元素的 name 属性就是存储在数据库中用于此安全标签的字符串,在本例中是 THIRD_PARTY_PROPRIETARY。为使此自定义安全标签在您的 Windchill 解决方案中可用,enabled 属性必须设置为 true。此名称值通常不会显示在用户界面中;此安全标签的显示名称之前在 <Windchill>/wtcustom/wt/access/accessModelRB.rbinfo 文件中进行了定义。
* 
保持 CustomSecurityLabel 元素的名称属性和内部自定义标签值尽可能短。您可以使用 TranslatorClass 元素减小数据库中存储的内部值的大小。有关详细信息,请参阅创建自定义 Java 转换器类
SecurityLabelResourceKey 元素表示标签的资源键,并且以下列格式指定:
WCTYPE|wt.access.SecurityLabeled~SCA|<SECURITY_LABEL>
其中,<SECURITY_LABEL>CustomSecurityLabel 元素上 name 属性的值。此资源键必须存在于之前编辑的 accessModelRB.rbinfo 资源文件中。
* 
即使全局禁用安全标签,配置文件中指定的安全标签资源键也必须存在于 accessModelRB.rbinfo 文件中,以便方法服务器能够启动。
有关禁用安全标签的详细信息,请参阅禁用安全标签和值
CustomSecurityLabelValues 元素可以具有单个 UnrestrictedPrincipal 子元素,它将指定此安全标签值的授权参与者。如果省略 UnrestrictedPrincipal 子元素,则所有用户都将获得对带有该自定义标签值的对象的访问权限。
UnrestrictedPrincipal 元素可含有 ufid 子元素。唯一联合标识符 (UFID) 或 WTPrincipalReference 用于指定参与者,该参与者可以是用户、用户定义的组或组织。UnrestrictedPrincipal 元素还可以含有 evaluatorClass 子元素,用于指定步骤 3. 创建自定义 Java 评估器类中所创建的评估器类。在 UnrestrictedPrincipal 元素下,ufid 子元素和 evaluatorClass 子元素既可以一同使用,也可以单独使用。有关分别使用 ufid 子元素、evaluatorClass 子元素或同时使用两者的差异,请参阅为自定义安全标签指定授权参与者
UnrestrictedPrincipal 元素可选择具有 AgreementType 子元素。协议可用于向此安全标签值的未授权参与者授予临时许可。AgreementType 元素的内容以下列格式指定:
<logicalTypeId><AGREEMENT_NAME></logicalTypeId>
其中,<AGREEMENT_NAME> 是协议类型或子类型的内部名称。
可选的 TranslatorClass 元素用于指定在步骤 4. 创建自定义转换器类中所创建的类。TranslatorClass 元素将安全标签值的内部名称转换为外部名称 (在 Windchill 中显示),然后重新转换为内部名称。如果未指定 TranslatorClass 元素,则自定义安全标签的内部值和外部值相同。
可选的 SecurityLabelParameter 元素包含由各种创作应用程序使用的参数名称,该名称作为文件属性而映射到此自定义安全标签。SecurityLabelParameter 始终是 CustomSecurityLabel 元素中的最后一个元素。参数名称必须遵循创作应用程序具有的任何参数名称限制。