为用户和组配置附加属性
可为联合存储库的用户和组配置附加属性。要启用模式或属性扩展,请确保可对底层存储库读写该属性。
过程
- 可在 server.xml 文件中指定以下附加属性信息以启用模式或属性扩展。
- 扩展属性名称 - 扩展属性的名称。确保所指定名称是唯一的并且与现有属性名称不匹配。
- 数据类型 - 扩展属性的数据类型。可能的值为 Integer、Long、String、Boolean、Date、Double、BigInteger 和 BigDecimal。
- 实体类型 - 该属性适用于的实体。可能的值为 PersonAccount 或 Group。
单值或多值 - 可将该属性的值设置为单值或多值。还可为该属性设置缺省值。如果已创建实体并且未对该属性指定任何值,那么将使用缺省值。 对于多值属性,可添加名为 assetId 的扩展属性以存储分配给用户的资产。如果可对每个用户分配多个资产,那么 assetId 需要设置为多值。必须确保 assetId 映射至的属性在后端 LDAP 中也是多值属性。
以下样本显示 server.xml 中的配置:<federatedRepository> <primaryRealm name="WIMRegistry"> <participatingBaseEntry name="o=ibm,c=us"/> </primaryRealm> <extendedProperty dataType="String" name="extendedProperty" entityType="PersonAccount"> </extendedProperty> </federatedRepository>
- 要在代码中使用扩展属性,必须按以下示例中所示使用通用 getter/setter 方法:
PersonAccount person = new PersonAccount(); ... person.set("extendedProperty", "xyz"); ... String value = (String)person.get("extendedProperty");
- 为确保可对 LDAP 读写该属性,您有以下两个选项:
- 传递:如果扩展属性的名称与 LDAP 属性的名称相同,那么将传递该扩展属性并对该 LDAP 属性读写该扩展属性。
- 属性映射:如果扩展属性的名称与 LDAP 属性的名称不同,那么需要使用属性映射来映射该扩展属性。
以下样本配置显示扩展属性至名为 extendedAttribute 的属性的映射。
<attributeConfiguration> <attribute name="extendedAttribute" propertyName="extendedProperty" syntax="String" entityType="PersonAccount"></attribute> </attributeConfiguration>
父主题: 在 Liberty 中配置用户注册表
相关概念:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_sec_schema_extension
文件名:twlp_sec_schema_extension.html