Die Synchronisierung von Benutzerfeldern kann im Dashboard für eine Datenbank unter "Settings" → "User Auth & Sync Settings" konfiguriert werden.

Beispielkonfiguration

<UserSyncConfig batchSize="1" syncIntervalInSeconds="86400">

    <!-- List of various sync sources available, e.g. LdapSyncSource -->
    <LdapSyncSource name="primedocs AD" queryKey="OneOffixxIdentifier" isOptional="false">
        <QueryKeyRegex group="0" match="0">([a-z0-9])*</QueryKeyRegex>
        [...]

        <!-- Any sync source has claims -->
        <Claims>	
            <Claim type="http://schema.oneoffixx.com/ws/2011/01/identity/claims/uid" property="uid" />
            <Claim type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenName" property="givenName" />
            <Claim type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/sn" property="sn" /> 
        </Claims>

  </LdapSyncSource>
</UserSyncConfig>

Attribute


SyncSources

Zur Synchronisierung stehen aktuell folgende Quellen zur Verfügung:

Alle SyncSources haben folgende Attribute und Elemente gemeinsam:

HINWEIS beim Gebrauch von "User.Title"
Der User.Title ist der Name des Benutzers in der primedocs-Datenbank. Über die Eigenschaften des "Active Directory Connector" bzw. des "Office 365 Connector" kann die Quelle des Namens bestimmt werden. Eine Anpassung ist jederzeit möglich und wird bei einer Benutzersynchronisierung angewendet.


Claims

<Claim type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/webpage" property="wWWHomePage" />

Neben den direkten Zuweisungen, kann man Claims auch noch bestimmte Regeln hinterlegen:

<Claim type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/function" property="description" useValueIfEmpty="true">Fallback-Value</Claim>

Definiert man einen Claim für die Benutzersynchronisation und mappt diesen am Ende auf ein Feld, wird der entsprechende Wert übernommen. Möchte man aber z. B. vermeiden, dass leere Eigenschaften aus der SyncSource übernommen werden, kann man über folgende Eigenschaft den Claim auch "ignorieren":

note

HINWEIS
Die LdapSyncSource mappt von sich aus nur "vorhandene" Attribute, andere Sources behandeln dies anders.

HINWEIS
Die LdapSyncSource mappt von sich aus nur "vorhandene" Attribute, andere Sources behandeln dies anders.

<Claim type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/function" ignoreClaimIfEmpty="true" property="description" useValueIfEmpty="true" />

Claims unterstützen zudem Regex, sodass z. B. auf Teile von Werten zugegriffen werden kann.

<!-- Wert für Property 'uid' ist 'bernhard.diener@oneoffixx.com' -->
<Claim type="http://schema.oneoffixx.com/ws/2011/01/identity/claims/uid" property="uid">
    <Regex match="0" group="2">([a-z\\.]*)@([a-z\\.]*)</Regex> <!-- liefert 'oneoffixx.com' -->
</Claim>

Mehrsprachigkeit

Die Benutzersynchronisation synchronisiert im Standardfall nur Felder in der Standarddokumentsprache. Möchte man z. B. bestimmte Feldinhalte auch in anderen Sprachen setzen, so ist dies über das Setzen des lcid-Attributes möglich:

<Claim type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/function" property="description" />
<Claim type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/function" lcid="1036" property="descriptionFR" />
<Claim type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/function" lcid="1040" property="descriptionIT" />

In diesem Beispiel wird der Claim http://schemas.xmlsoap.org/ws/2005/05/identity/claims/function in der Standarddokumentsprache über das description-Property befüllt. Im Beispiel wird für die Dokumentsprache Italienisch und Französisch (LCID 1040 bzw. 1036) der gleiche Claim der jeweiligen Eigenschaft aus der Quelle zugeordnet. Die Regeln der normalen Claims gelten auch für diese "übersetzten" Claims.


Offboarding

Benutzer, welche in den konfigurierten “SyncSources” nicht werden, können über eine zusätzliche Konfiguration automatisch aus der Datenbank entfernt werden.

Das System überprüft die letzte erfolgreiche Synchronisationszeit für jeden Benutzer und setzt den Benutzer entweder auf den Status “Zur Löschung ausstehend“ (“PendingDeletion”) oder “Zur Löschung markiert“ (“FlaggedForDeletion”), wenn die entsprechenden Wartezeiten überschritten wurden.

<?xml version="1.0" encoding="utf-8" ?>
    <UserSyncConfig>
        ...
        <AutomaticUserDeletion mode="disabled|enabled|enabledWithoutAutomaticDeletion">
            <StatusChangesAfterUnavailabilityDuration>
                <SetToPendingDeletion days="30" />
                <SetToFlaggedForDeletion days="60" />
            </StatusChangesAfterUnavailabilityDuration>
        </AutomaticUserDeletion>
    </UserSyncConfig>

Modus

Das automatische Benutzer Offboarding ist mit der entsprechenden Konfiguration aktiv und kann über den “mode” gesteuert werden.

Status-System

Nach einer erfolgreichen Benutzersynchronisierung wird der Zeitpunkt der Synchronisierung am Benutzer gespeichert.
Wird ein Benutzer jedoch beispielsweise aus dem Active Directory gelöscht, wird der Zeitstempel nicht mehr aktualisiert.
Über das Element “SetToPendingDeletion” kann festgelegt werden, nach wie vielen Tagen seit der letzten erfolgreichen Synchronisierung der Benutzer in den Status “PendingDeletion” verschoben werden soll.
Ebenso wird über das Element “SetToFlaggedForDeletion” die Anzahl der Tage angegeben, nach denen der Benutzer mit dem Status “FlaggedForDeletion” markiert wird.

Standardeinstellung, falls es nicht konfiguriert wird:

Beispiel:

Ein Benutzer in der Datenbank wurde am 1. Januar zuletzt erfolgreich synchronisiert.
Am 2. Januar wurde der Benutzer aus dem Active Directory entfernt.
Mit der Einstellung “SetToPendingDeletion” nach dem fünften Tag würde der Benutzer ab dem 6. Januar, also fünf Tage nach der letzten erfolgreichen Synchronisierung, in den Status “PendingDeletion” verschoben.
Mit der Einstellung “SetToFlaggedForDeletion” nach dem zehnten Tag würde der Benutzer ab dem 11. Januar, in den Status “FlaggedForDeletion” verschoben werden.

Abhängig vom gewählten Modus würden alle Benutzer mit “FlaggedForDeletion” automatisch gelöscht werden.

Sollte allerdings der Benutzer (evtl. durch eine versehtnliche Löschung) am 4. Januar wieder im Active Directory finden lassen, würde der Prozess von vorn beginnen.

Gelöschte Benutzer werden mitsamt Ihren Berechtigungen, privaten Textbausteinen, Profilen usw. gelöscht und können nicht wieder hergestellt werden.

Es empfiehlt sich initial grössere Zeitabstände zu wählen und mit der Einstellung “enabledWithoutAutomaticDeletion” zu testen.

Ausnahmen

Hat man technische Benutzer eingerichtet, welche gar nicht im Active Directory verfügbar sind, dann müssen diese Benutzer von der Synchronisierung ausgeschlossen werden. Dies kann über das Admin Dashboard erledigt werden.