专业化管理 > 确保数据安全 > 安全标签和协议 > 配置安全标签 > 安全标签配置步骤 > 步骤 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 (唯一联合标识符) 用于指定参与者,该参与者可以是用户、用户定义的组或组织。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 元素中的最后一个元素。参数名称必须遵循创作应用程序具有的任何参数名称限制。