禁用安全标签和值
如果不再需要某一安全标签或标准安全标签值,则应在安全标签配置文件中禁用。在删除标签或值之前,禁用的安全标签和安全标签值仍然可以强制使用。
禁用的安全标签:
• 不显示在新对象创建窗口中。
• 显示为“编辑安全标签”窗口中“对象列表”表格上的一个列。对于标准安全标签,仅显示安全标签的空值和当前非空值,且只有空值可选择。对于自定义安全标签,仅显示当前非空值和空值,且只有空值可选择。如果标签具有空值,则无法再对已禁用标签的列进行编辑。
禁用的标准安全标签值:
• 不显示在新对象创建窗口内该安全标签的可选择值列表中。
• 仅在以下情况下才会显示在现有对象的“编辑安全标签”窗口中:其是安全标签的当前值时。更改标签值后,禁用的值便不再显示或可选择。
禁用安全标签或标签值
要禁用安全标签或标准安全标签值,需要完成下列步骤:
1. 在安全标签配置文件中,将安全标签或标准安全标签值标记为禁用。
◦ 对于安全标签,将 SecurityLabel 或 CustomSecurityLabel 标签的 enabled 参数从 true 改为 false,例如:
<SecurityLabel name="EXPORT_CONTROL" enabled="false">
◦ 对于标准安全标签值,将 SecurityLabelValue 标签的 enabled 参数从 true 改为 false,例如:
<SecurityLabelValue name="UNK" enabled="false">
2. 更改或移除用于指定禁用的安全标签或标签值的任何对象初始化规则。
3. 重新启动方法服务器以使配置更改生效。
|
如果您选择允许将各个安全标签配置为自定义表格视图中的可选列,则将已禁用的安全标签添加为表格视图列的用户必须将已禁用的安全标签列从其表格视图中移除。如果用户不移除该列,则会显示安全标签的内部名称而非显示名称。
|
移除禁用的安全标签或标签值
如果选择从安全标签配置文件中彻底移除安全标签或标准安全标签值,而不是仅将其禁用,则必须首先确保移除安全标签或标准安全标签值的所有使用,包括在对象初始化规则、项目或项目群模板、加载文件和导入文件中的使用。如果对象的安全标签设置包括安全标签配置文件中不存在的标签或标准安全标签值,则任何时候访问对象都会抛出异常。
要移除安全标签的使用,请将安全标签的所有使用更改为空值。
要移除安全标签值的使用,请将该标签值的所有使用改为安全标签的空值或将保持启用的标签值。
要确保已找到并移除了在带有安全标签的对象上设置的安全标签或标签值的所有使用,请查询数据库。例如,可运行下列 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 标记。在转换之前,必须首先确保没有对象、对象初始化规则、项目或项目群模板、加载文件和导入文件为您要转换的安全标签应用了多个值。