Files
florian.wilde ae290345b7
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s
feat(verzeichnis): LDAP-Abgleich, Zeitplan, CSV-Import und Log (#30)
2026-09-26 00:21:56 +00:00

53 lines
2.6 KiB
Plaintext

# AD-aehnliches Schema fuer den Testcontainer (#016).
#
# OpenLDAP bringt keines der Attribute mit, an denen der Abgleich haengt:
# sAMAccountName, userPrincipalName, objectGUID, userAccountControl,
# objectCategory und department fehlen alle. Ohne dieses Schema liefe der
# Integrationstest gegen ein Verzeichnis, das mit einem Active Directory nichts
# gemeinsam hat -- und bewiese entsprechend wenig.
#
# `manager`, `displayName`, `givenName`, `sn`, `mail` und `title` kommen aus
# core/cosine/inetOrgPerson und stehen deshalb nicht hier.
#
# Die OIDs sind die echten aus dem Microsoft-Arc 1.2.840.113556, damit das
# Fixture nicht bloss gleich heisst, sondern auch gleich bezeichnet ist.
#
# Zwei bewusste Abweichungen vom echten AD, weil sie sich in OpenLDAP nicht
# nachbauen lassen:
#
# 1. `objectCategory` ist hier eine Zeichenkette mit dem Wert "person". Im AD
# ist es ein DN auf das classSchema-Objekt, und der Server nimmt die
# Kurzform "person" als Abkuerzung dafuer an. Der Standardfilter trifft
# damit hier und dort, aus verschiedenen Gruenden.
# 2. `user` ist hier AUXILIARY statt STRUCTURAL. So traegt ein Eintrag
# inetOrgPerson **und** user, statt dass die Personenklassen des Fixtures
# gegen die des AD ausgetauscht werden muessten. Fuer `(objectClass=user)`
# macht das keinen Unterschied.
dn: cn=ad-fixture,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: ad-fixture
olcAttributeTypes: ( 1.2.840.113556.1.4.221 NAME 'sAMAccountName'
EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
olcAttributeTypes: ( 1.2.840.113556.1.4.656 NAME 'userPrincipalName'
EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
olcAttributeTypes: ( 1.2.840.113556.1.4.2 NAME 'objectGUID'
EQUALITY octetStringMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE )
olcAttributeTypes: ( 1.2.840.113556.1.4.8 NAME 'userAccountControl'
EQUALITY integerMatch ORDERING integerOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
olcAttributeTypes: ( 1.2.840.113556.1.4.782 NAME 'objectCategory'
EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
olcAttributeTypes: ( 1.2.840.113556.1.2.141 NAME 'department'
EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
olcObjectClasses: ( 1.2.840.113556.1.5.9 NAME 'user'
DESC 'AD-aehnliche Zusatzklasse, nur fuer Tests'
SUP top AUXILIARY
MAY ( sAMAccountName $ userPrincipalName $ objectGUID $ userAccountControl $
objectCategory $ department ) )