Konfigurationsdatei AuthenticationServiceConfiguration

Aus succestWiki
Wechseln zu: Navigation, Suche

Diese Konfiguration legt fest, auf welche Art und Weise das succest Testcase Repository (TCR) und der succest Testcase Editor (TCE) Zugriffe authentifizieren und autorisieren soll.

  • Kurzform: AuthenticationServiceConfiguration
  • Vollständig: TestcaseRepositoryAPI.UserAndSessionManagement.AuthenticationServiceConfiguration.config

Im Folgenden ist die Konfigurationsdatei, ihr Aufbau und die Bedeutung der einzelnen Tags grundsätzlich beschrieben. Eine Erklärung der Möglichkeiten, die succest im Zusammenspiel mit LDAP Servers anbietet, zeigt dieser Screencast.

Beispiel

<root>
  <AuthServiceClass Type="string">TestcaseRepositoryAPI.AuthenticationServiceLDAP</AuthServiceClass>
  <ConfigNode Type="XmlDocument">
    <config>
      <ldapServer> <!-- Erster LDAP Server zur Abfrage (Windows Server 2012 AD) -->
        <ldapString>LDAPS://192.168.220.101:636/DC=dom2012r2,DC=local</ldapString>
        <ldapUserName>administrator@dom2012r2.local</ldapUserName>
        <ldapPassword>XYZ</ldapPassword>
        <ldapFilter>(&amp;(objectClass=user)(|(sAMAccountName={0})(userPrincipalName={0})))</ldapFilter>
        <attributes>
          <attributeUPN>userPrincipalName</attributeUPN>
          <attributeName>name</attributeName>
          <attributeGroups>memberOf</attributeGroups>
          <attributeObjectId>objectGUID</attributeObjectId>
        </attributes>
      </ldapServer>
      <ldapServer> <!-- Zweiter LDAP Server zur Abfrage (Windows Server 2016 AD) -->
        <ldapString>LDAP://192.168.220.102:389/CN=Users,DC=dom2016,DC=local</ldapString>
        <ldapUserName>administrator@dom2016.local</ldapUserName>
        <ldapPassword>XYZ</ldapPassword>
        <ldapFilter>(&amp;(objectClass=user)(|(sAMAccountName={0})(userPrincipalName={0})))</ldapFilter>
        <attributes>
          <attributeUPN>userPrincipalName</attributeUPN>
          <attributeName>name</attributeName>
          <attributeGroups>memberOf</attributeGroups>
          <attributeObjectId>objectGUID</attributeObjectId>
        </attributes>
      </ldapServer>
      <ldapServer> <!-- Dritter LDAP Server zur Abfrage (Apache DS) -->
        <ldapString>LDAP://localhost:10389/ou=users,dc=succest,dc=local</ldapString>
        <ldapUserName />
        <ldapPassword />
        <ldapFilter>(&amp;(objectClass=person)(givenName={0}))</ldapFilter>
        <attributes>
          <attributeUPN>mail</attributeUPN>
          <attributeName>sn</attributeName>
          <attributeGroups>seeAlso</attributeGroups>
          <attributeObjectId>mail</attributeObjectId>
        </attributes>
      </ldapServer>
    </config>
  </ConfigNode>
</root>

Elemente

Element Beschreibung

AuthServiceClass

Definiert die zu verwendende Implementierung für die Authentifizierung.

Dabei sind folgende Varianten unterstützt:

  • AuthenticationServiceLDAP: Nutzung eines LDAP z. B. aus einem Active Directory Service
  • AuthenticationServiceLocal: Nutzung einer MS SQL Datenbank.

ConfigNode/config

Wir nur benötigt wenn "AuthServiceClass" auf AuthenticationServiceLDAP gesetzt ist.
ldapServer
Sich wiederholender Klammer-Tag. Je abzufragendem LDAP Server wird ein ldapServer-Tag geöffnet und geschlossen.
ldapString
Zeichenkette die für die Verbindung zum LDAP genutzt wird.

WICHTIG Das Schema 'LDAP' oder 'LDAPS' innerhalb des URI muss groß geschrieben werden.

ldapUserName
Nutzername zur Anmeldung am LDAP Server. Der Wert ist optional, der Tag kann leer gelassen werden. In dem Falle nutzt succest eine anonyme Anmeldung am LDAP Server um Zugangsdaten gegen das LDAP zu prüfen.
ldapPassword
Passwort zur Anmeldung am LDAP Server. Der Wert ist optional, der Tag kann leer gelassen werden. In dem Falle nutzt succest eine anonyme Anmeldung am LDAP Server um Zugangsdaten gegen das LDAP zu prüfen.
ldapFilter
Definiert den Suchfilter zum Finden eines Nutzers. Eine gute Erklärung für Suchfilter inklusive passender Beispiele für AD und andere LDAP Implementierung finden Sie hier.
attributes
Klammer-Tag um eine Liste von abzufragenden Attributen.
attributeUPN
Legt fest, welches Attribute im LDAP den User Principal Name eines Objektes enthält. Da dieses Attribute hauptsächlich dazu verwendet wird, um das Objekt innerhalb des einen LDAP eindeutig zu identifizieren, kann hier im Falle, das kein echter UPN im LDAP gespeichert ist, auch z. B. das E-Mail-Attribut verwendet werden, solange diese immer gepflegt und eindeutig ist.
attributeName
Legt fest in welchem Attribute succest den tatsächlichen Namen des Nutzerobjektes erwartet.
attributeGroups
In der Regel realisiert LDAP die Zugehörigkeit einzelner Benutzerobjekte zu Gruppen durch ein Attribut, das mehrfach genannt die Gruppen als Werte liefert, denen der Benutzer angehört. Der Name dieses Attributes ist hier anzugeben.
attributeObjectId
succest benötigt zwingend eine GUID für jedes LDAP-Benutzer-Objekt. Microsoft Active Directory enthält von Haus aus ein Attribut für jedes Objekt, in dem eine GUID steht (objectGUID). Andere LDAP Implementierungen bringen ein solches Attribut nicht von Haus aus mit. In diesem Falle kann succest einen anderen eindeutigen Wert (z. B. den des Attributes, das bereits als UPN verwendet wird) heranziehen und daraus selbst eine GUID ermitteln.