Archivo de configuración LDAP (ldapentry.xml)
El archivo WCServer_enterprise_archive/xml/ldap/ldapentry.xml se utiliza cuando HCL Commerce se configura para utilizar un servidor LDAP como repositorio de perfil maestro para usuarios y organizaciones. HCL Commerce interactúa con el servidor LDAP utilizando el repositorio federado de WebSphere Application Server. El depósito federado se implementa utilizando Virtual Member Manager (VMM).
El archivo ldapentry.xml proporciona la correlación entre atributos de HCL Commerce y atributos VMM, para sincronizar datos entre la base de datos de HCL Commerce y LDAP. Esta correlación proporciona una correlación predeterminada para los atributos utilizados con mayor frecuencia. Los atributos se pueden personalizar. Para obtener más información, consulte Lista de atributos que se pueden sincronizar con LDAP.- Microsoft Active Directory: utiliza, típicamente, ldapentry_ad.xml
- Otros servidores LDAP: utiliza, típicamente, ldapentry.xml
- Para obtener información sobre la correlación de atributos VMM con atributos LDAP, consulte Default LDAP configuration mapping based on LDAP server type.
- Si el atributo VMM que ha especificado no está definido en la entidad VMM que está utilizado, defínalo en VMM. Para obtener más información, consulte Using addIdMgrPropertyToEntityTypes command to add a new property to one or more existing entity types..
- Property types supported by virtual member manager, donde HCL Commerce User corresponde a PersonAccount en VMM y la entidad de organización HCL Commerce Corresponde a OrgContainer en VMM.
Datos de ejemplo en el archivo ldapentry.xml
<?xml version="1.0"?>
<!DOCTYPE ldapentry SYSTEM "ldapentry.dtd">
<ldapentry>
<entry entryName="User">
<ldapsetting>
<ldaprdn rdnName="uid" keyAttrName="logonId" keyObjName="UserRegistry"/>
</ldapsetting>
<ldapmap>
<map>
<objectAttribute attrName="logonPassword"/>
ldapAttribute name="password" operation="replace" flow="wcsToLdap"/>
</map>
<map>
<objectAttribute attrName="lastName"/>
<objectAttribute attrName="firstName"/>
<objectSeparator attrSeparator="/"/>
<ldapAttribute name="cn" operation="replace" flow="wcsToLdap"/>
</map>
<map>
<objectAttribute attrName="lastName"/>
<ldapAttribute name="sn" operation="replace" flow="bothDirections"/>
</map>
<map>
<objectAttribute attrName="firstName"/>
<ldapAttribute name="givenName" operation="replace" flow="bothDirections"/>
</map>
<map>
<objectAttribute attrName="phone1"/>
<ldapAttribute name="homePhone" operation="add" flow="bothDirections"/>
</map>
<map>
<objectAttribute attrName="email1"/>
<ldapAttribute name="mail" operation="replace" flow="bothDirections"/>
</map>
<map>
<objectAttribute attrName="zipCode"/>
<ldapAttribute name="postalCode" operation="replace" flow="bothDirections"/>
</map>
<map>
<objectAttribute attrName="address1" size="50"/>
<objectAttribute attrName="address2" size="50"/>
<objectAttribute attrName="address3" size="50"/>
<objectSeparator attrSeparator="/"/>
<ldapAttribute name="postalAddress" operation="replace" flow="bothDirections"/>
</map>
</ldapmap>
</entry>
<entry entryName="Organization">
<ldapsetting>
<ldaprdn rdnName="o" keyAttrName="orgEntityName" keyObjName="Organization"/>
</ldapsetting>
<ldapmap>
<map>
<objectAttribute attrName="businessCategory"/>
<ldapAttribute name="businessCategory" operation="replace" flow="bothDirections"/>
</map>
<map>
<objectAttribute attrName="description"/>
<ldapAttribute name="description" operation="replace" flow="bothDirections"/>
</map>
<map>
<objectAttribute attrName="address1" size="50"/>
<objectAttribute attrName="address2" size="50"/>
<objectAttribute attrName="address3" size="50"/>
<objectSeparator attrSeparator="/"/>
<ldapAttribute name="postalAddress" operation="replace" flow="bothDirections"/>
</map>
<map>
<objectAttribute attrName="phone1"/>
<ldapAttribute name="telephoneNumber" operation="add" flow="bothDirections"/>
</map>
</ldapmap>
</entry>
<entry entryName="OrganizationalUnit">
<ldapsetting>
<ldaprdn rdnName="ou" keyAttrName="orgEntityName" keyObjName="Organization"/>
</ldapsetting>
<ldapmap>
<map>
<objectAttribute attrName="businessCategory"/>
<ldapAttribute name="businessCategory" operation="replace" flow="bothDirections"/>
</map>
<map>
<objectAttribute attrName="description"/>
<ldapAttribute name="description" operation="replace" flow="bothDirections"/>
</map>
<map>
<objectAttribute attrName="address1" size="50"/>
<objectAttribute attrName="address2" size="50"/>
<objectAttribute attrName="address3" size="50"/>
<objectSeparator attrSeparator="/"/>
<ldapAttribute name="postalAddress" operation="replace" flow="bothDirections"/>
</map>
<map>
<objectAttribute attrName="phone1"/>
<ldapAttribute name="telephoneNumber" operation="add" flow="bothDirections"/>
</map>
</ldapmap>
</entry>
</ldapentry>
- entry
- El elemento entry identifica para qué tipo de miembro son las correlaciones. Los valores válidos son User, Organization u OrganizationalUnit.
- ldapsetting - ldaprdn - rdnName
- Especifica qué atributo LDAP es el atributo RDN
- ldapsetting - ldaprdn - keyAttrName
- Especifica qué atributo de HCL Commerce se correlaciona con el atributo RDN.
- ldapsetting - ldaprdn - keyObjName
- Especifica el bean de acceso de HCL Commerce que contiene el atributo keyAttrName.
- ldapsetting - ldapocs - objClass
- Esta opción ya no se utiliza. Se ha movido al archivo wimconfig.xml.
- ldapsetting - ldapbase - defaultBase
- Esta opción ya no se utiliza. Se ha movido al archivo wimconfig.xml.
- ldapsetting - ldapbase - searchBase
- Esta opción ya no se utiliza. Se ha movido al archivo wimconfig.xml.
- map -objectAttribute - attrName
- Un nombre del atributo HCL Commerce. Para obtener más información, consulte Lista de atributos que se pueden sincronizar con LDAP.
- map -ldapAttribute - name
- Nombre del atributo VMM que se debe correlacionar con el atributo de HCL Commerce especificado en attrName. El nombre del atributo VMM suele ser el mismo que el nombre del atributo LDAP. En los casos en los que es diferente, la correlación está definida en el elemento attributeConfiguration del archivo wimconfig.xml.
- map -ldapAttribute - flow
- Especifica cómo se lee el valor de atributo de LDAP y se escribe en LDAP. Los valores válidos son:
- ldapToWcs
- El valor fluye de LDAP únicamente a la base de datos de HCL Commerce. Se utiliza durante la autenticación y en operaciones get.
- wcsToLdap
- El valor fluye de la base de datos de HCL Commerce a LDAP únicamente. Este valor se aplica al crear o actualizar un miembro en HCL Commerce.
- bothDirections
- El valor fluye en ambas direcciones, entre la base de datos de HCL Commerce y LDAP.
- ldapOnly
- El valor sólo existe en LDAP, no en la base de datos de HCL Commerce. Estos atributos serán accesibles desde las API siguientes:
- UserSyncBean.getProperty(String propertyName)
- OrganizationSyncBean.getProperty(String propertyName)
- UserRegistrationDataBean.getAttribute(String attributeName)
- OrgEntityDataBean.getAttribute(String attributeName)
- /Person/Attributes
- /Organization/Attributes
- map -ldapAttribute - operation
- Especifica cómo debe modificarse el valor de atributo para LDAP. Los valores válidos son replace o add. El valor replace actualiza la información de usuario actual con la nueva información proporcionada (por ejemplo, sustituir un número de teléfono existente por uno nuevo). Un valor "add" incluye otra entrada para el usuario (por ejemplo añadir un nuevo número de teléfono a la información de usuario actual, realizar una lista de números de teléfono para el usuario).
- map - objectSeparator - attrSeparator
- Carácter separador utilizado al almacenar o recuperar varios atributos de HCL Commerce en o desde un solo atributo de LDAP. No se da soporte a la duplicación de atributos con varios valores.
La sincronización de atributos LDAP de varios valores en la tabla MBRATTRVAL
La tabla MBRATTRVAL se utiliza para almacenar atributos de miembros personalizados. La tabla puede almacenar varios valores (filas) para un único atributo y usuario. LDAP puede gestionar atributos de varios valores.
<map>
<objectAttribute attrName="JobFunction_10001_r_n"/>
<ldapAttribute name="telephoneNumber" operation="replace" flow="bothDirections"/>
</map>
Correlación original:
<!--
<map>
<objectAttribute attrName="phone1"/>
<ldapAttribute name="telephoneNumber" operation="add" flow="bothDirections"/>
</map>
-->
El atributo VMM telephoneNumber se correlaciona con el atributo JobFunction_10001_r_n HCL Commerce. Este atributo de HCL Commerce, basado en el convenio de denominación, es un atributo de miembro personalizado, cuyos valores se almacenan en la tabla MBRATTRVAL. Tenga en cuenta que el nombre de atributo de miembro finaliza en _n para indicar que tiene varios valores.Si existen varios valores en la tabla MBRATTRVAL, se sincronizan a través de varios valores en LDAP. A la inversa, si existen varios valores en LDAP, se sincronizan con varias filas en la tabla MBRATTRVAL.
https://localhost/webapp/wcs/stores/servlet/UserRegistrationUpdate?storeId=10101&catalogId=10101&langId=-1
&editRegistration=Y&JobFunction_10101_r_1=manager&JobFunction_10101_r_2=clerk&URL=UserRegistrationForm
Observe que hay dos instancias de actualizaciones de JobFunction en la serie del URL. La primera es JobFunction_10101_r_1 para el gestor y la segunda es JobFunction_10101_r_2 para el asistente.La sincronización de atributos LDAP de varios valores en la tabla MBRATTRVAL
partyID
con un solo valor en LDAP:- En el archivo XML ldapentry, la correlación sería
<map> <objectAttribute attrName="partyID_10001_r_1"/> <ldapAttribute name="partyID" operation="replace" flow="wcsToLdap"/> </map>
- En el archivo wimxmlextension.xml de WebSphere Application Server, establezca el parámetro multiValued en true para
partyID
.<wim:propertySchema nsPrefix="wim" nsURI="http://www.ibm.com/websphere/wim" dataType="string" multiValued="true" propertyName="partyID"> <wim:applicableEntityTypeNames>OrgContainer</wim:applicableEntityTypeNames> </wim:propertySchema>
- Establezca el valor de atributo en el URL con el formato siguiente:
.partyID_10001_r_1=newParty