Zurück zur Shibboleth-Übersicht
Angenommen, der Benutzer "Hello World" existiert mit folgenden Daten in der Shibboleth-Föderation. Die Attributnamen sind für das Beispiel frei gewählt, sie sind im Shibboleth-System konfigurierbar und daher nicht bindend. Auch werden höchstwahrscheinlich noch mehr Attribute als gezeigt zur Verfügung stehen.
eppn user0815@example.com
userId user0815
firstName Hello
lastName World
groups student:assistant
department compsci,math
Folgende Eigenschaften stehen zur Verfügung:
eppn
)userId
)firstName
, lastName
)groups
)department
)Der Inhalt der Gruppen-Tabelle in der easydb sieht in etwa so aus:
id | name | shib2_gruppe | shib2_department |
---|---|---|---|
1 | Administratoren | ||
2 | Studenten | student | |
3 | Hilfskräfte | assistent | |
4 | Dozenten | lecturer | |
5 | FB Informatik | compsci | |
6 | FB Mathematik | math | |
7 | FB Geologie | geology |
SHIB2_ATTR_USER_ID=eppn
SHIB2_ATTR_DISPLAYNAME_FORMAT=%(firstName)s %(lastName)s
SHIB2_ATTR_GROUP_1=groups
SHIB2_GROUP_DIVIDER_1=:
SHIB2_ATTR_GROUP_2=department
SHIB2_GROUP_DIVIDER_2=,
SHIB2_WHERE_GROUP_SQL_FORMAT=shib2_gruppe IN (%(groups:dbarr)s) OR shib2_department IN (%(department:dbarr)s)
Ziel der Konfiguration sind folgende Punkte:
eppn
gesetzt ist, eine Einschränkung ist nur über die Apache-Konfiguration möglich.SHIB2_ATTR_DISPLAYNAME_FORMAT
zuständig.SHIB2_ATTR_GROUP_*
) und Trennzeichen (SHIB2_GROUP_DIVIDER_*
) konfiguriert mit SHIB2_WHERE_GROUP_SQL_FORMAT
angegeben, wie die ermittelten Attributwerte mit den easydb-Gruppen verglichen werden müssen.Es würde also ein Benutzer mit dem Namen "Hello World" angemeldet werden, dieser wird intern als "user0815@example.com" referenziert (das ist für die Wiedererkennung des Benutzers z.B. zur Vergabe von Rechten wichtig). Dem Benutzer würden die easydb-Gruppen "Studenten", "Hilfskräfte", "FB Informatik" und "FB Mathematik" zugeordnet werden.