There are several use-cases where you need privileged system account for accessing the LDAP database.
Authentication
There are two basic methods how you can authenticate against LDAP:
- Do a BIND operation against LDAP - you need to know the user DN
- Do a password attribute comparison - you need to know the user DN, name of attribute with the password, attribute value encoding (e.g. plaintext, hashed, ...)
For both approaches you need to know the distinguished name of the target user:
- Either you are able to construct the DN from credentials (e.g.
cn={screenName},ou=Users,o=MyOrg
) - which is not supported by Liferay AFAIK;
- or you need to do LDAP SEARCH to find the right user DN... for that you need to have a system account.
Account Import & Export
Next to pulling user information right when the user authenticates Liferay offers also LDAP import and export functionality. For obvious reasons you need to have a privileged system account to be able to search for users in LDAP and / or to write user entries.
TL;DR
Properties ldap.security.principal
and ldap.security.credentials
are mandatory (they can be configured also via user interface). You will need to have a dedicated system account for Liferay in the LDAP for this.