# 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 ) )