Overview
Fess supports integration with LDAP (Lightweight Directory Access Protocol) servers, enabling authentication and user management in enterprise environments.
LDAP integration enables:
User authentication with Active Directory or OpenLDAP
Group-based access control
Automatic user information synchronization
Supported LDAP Servers
Fess supports integration with the following LDAP servers:
Microsoft Active Directory
OpenLDAP
389 Directory Server
Apache Directory Server
Other LDAP v3 compatible servers
Prerequisites
Network access to the LDAP server
Service account for LDAP searches (bind DN)
Understanding of LDAP structure (base DN, attribute names, etc.)
Basic Configuration
Add the following configuration to app/WEB-INF/conf/system.properties.
LDAP Connection Settings
Account Filter Settings
Note
ldap.account.filter is the search filter for user authentication, while ldap.admin.user.filter is the user search filter for the LDAP management console. Set each appropriately as they serve different purposes.
LDAP Admin Base DN Settings
Group Filter Settings
Active Directory Configuration
Configuration example for Microsoft Active Directory.
Basic Configuration
Active Directory Specific Settings
OpenLDAP Configuration
Configuration example for OpenLDAP.
Security Settings
LDAPS (SSL/TLS)
Use encrypted connections:
For self-signed certificates, import the certificate into the Java truststore:
Password Protection
Set passwords using environment variables:
Failover
Failover to multiple LDAP servers:
Troubleshooting
Connection Error
Symptom: LDAP connection fails
Check:
Is the LDAP server running?
Is the port open in the firewall (389 or 636)?
Is the URL correct (
ldap://orldaps://)?Are the bind DN and password correct?
Authentication Error
Symptom: User authentication fails
Check:
Is the user search filter correct?
Does the user exist within the search base DN?
Is the username attribute correct?
Cannot Retrieve Groups
Symptom: Cannot retrieve user groups
Check:
Is the group search filter correct?
Is the group membership attribute correct?
Do the groups exist within the search base DN?
Debug Settings
Output detailed logs:
app/WEB-INF/classes/log4j2.xml:
Reference Information
Role-Based Search Configuration - Role-Based Access Control
SSO Configuration with Windows Integrated Auth - SPNEGO (Kerberos) Authentication
User - User Management Guide