LDAP-Sync ergaenzt eine fehlende ldap_uid bei einem Treffer nachtraeglich, ohne den Lauf bei fehlender UID zu blockieren. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
31 lines
1.2 KiB
Go
31 lines
1.2 KiB
Go
// Package ldapsync implementiert Core IAM-05: LDAP/Active-Directory-
|
|
// Anbindung je Tenant fuer Benutzer-Synchronisation, Login-Delegation und
|
|
// Rollenzuordnung aus Gruppen ueber eine explizite Erlaubnis-Matrix.
|
|
//
|
|
// WICHTIGER HINWEIS: In dieser Umgebung steht kein echter LDAP/AD-Server zur
|
|
// Verfuegung (analog zur Archive-Engine bei AUD-05). Client ist deshalb eine
|
|
// Schnittstelle — die Sync-/Rollenzuordnungs-Logik ist gegen einen Fake in
|
|
// den Tests vollstaendig geprueft, eine echte Verbindungspruefung gegen
|
|
// LDAP/AD steht noch aus.
|
|
package ldapsync
|
|
|
|
// Entry ist ein aus LDAP gelesener Benutzerdatensatz. UID ist optional
|
|
// (COR-04): leer bleibt der Benutzer ohne ldap_uid, bis ein spaeterer
|
|
// Sync-Lauf ihn mitliefert.
|
|
type Entry struct {
|
|
Email string
|
|
Name string
|
|
Groups []string
|
|
Disabled bool
|
|
UID string
|
|
}
|
|
|
|
// Client abstrahiert die eigentliche LDAP-Verbindung (Bind + Search).
|
|
type Client interface {
|
|
// Search liefert alle Benutzer, die dem konfigurierten Filter
|
|
// entsprechen. Ein Fehler bedeutet "Quelle nicht erreichbar oder
|
|
// fehlerhaft" — Run() bricht dann komplett und folgenlos ab
|
|
// (Akzeptanzkriterium 2).
|
|
Search() ([]Entry, error)
|
|
}
|