With the upcoming 6.0 release, you will see many product engineers announce cool new features. Unfortunately, LDAP integration is neither cool nor new. However, in 6.0, we have improved the capabilities of our LDAP integration in several areas:
1. You can synchronize user custom attributes between Liferay and LDAP
No longer are you limited to the columns in the User_ table, now you can configure attributes like your favorite color between LDAP and Liferay. This can be done by simply creating the appropriate custom attributes for a User in Liferay's control panel and then configuring the properties "ldap.user.custom.mappings" and/or "ldap.contact.custom.mappings" in your portal-ext.properties.
2. In 5.1 and 5.2 EE, we implemented LDAP pagination via PageResultsControls . We now make this solution available to the community in 6.0.
3. You can configure the portal to create a role for each LDAP group.
Prior to 6.0, the portal synchronized LDAP groups as User Groups and you had to manually associate the user group to roles. In 6.0, the portal will create the user group, then create a role with the same name as the user group, and then associate the role to the user group. This capability is deactivated by default. However, you can activated it by changing "ldap.import.create.role.per.group" to true in portal.properties.
4. You may override LDAP import and export processes via Spring
For those who are IOC fans, you were probably frustrated by the inability to customize the import and export process (they were static methods in PortalLDAPUtil or buried in LDAPUser). In 6.0, we changed LDAP to provide proper interfaces at all levels of the LDAP integration process:
- Don't like how Liferay converts LDAP attributes to a Liferay user? You may implement your own LDAPToPortalConverter in the EXT and change a Spring configuration to inject your own implementation.
- Don't like how Liferay converts a Liferay user to LDAP attributes? You may implement your own PortalToLDAPConverter.
- Need to change the export process? Implement a PortalLDAPExporter.
- Need to change the import process? Implement a PortalLDAPImporter