feat(02-04): LdapModule with sync service, config service, scheduler, and controller
- LdapService uses ldapts for DIRECTORY SYNC ONLY (anti-pattern avoidance) - LdapConfigService creates default field mappings per D-16 (displayName, mail, sAMAccountName) - Custom field mappings can be added/removed per D-17 - Per-tenant LDAP config per D-18 - syncUsersForTenant deactivates users removed from LDAP per D-15 - LdapSyncScheduler sets tenant context explicitly per Pitfall 2 - Manual sync endpoint POST /ldap/sync per D-14 - Auto-sync cron checks syncIntervalMin per D-14 - Test connection endpoint for LDAP config validation - OpenLDAP + phpLDAPadmin added to docker-compose.dev.yml - LDAP search filter sanitization per T-02-16 - bindPassword never returned in API responses per T-02-17
This commit is contained in:
@@ -30,3 +30,24 @@ services:
|
||||
- "8025:8025"
|
||||
networks:
|
||||
- backend-net
|
||||
|
||||
openldap:
|
||||
image: osixia/openldap:1.5.0
|
||||
environment:
|
||||
LDAP_ORGANISATION: Tessera
|
||||
LDAP_DOMAIN: tessera.local
|
||||
LDAP_ADMIN_PASSWORD: admin
|
||||
ports:
|
||||
- "389:389"
|
||||
- "636:636"
|
||||
networks:
|
||||
- data-net
|
||||
|
||||
phpldapadmin:
|
||||
image: osixia/phpldapadmin:0.9.0
|
||||
environment:
|
||||
PHPLDAPADMIN_LDAP_HOSTS: openldap
|
||||
ports:
|
||||
- "6443:443"
|
||||
networks:
|
||||
- backend-net
|
||||
|
||||
Reference in New Issue
Block a user