Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:shibidp:config-testzugang [2022/11/28 13:58] – Wolfgang Pempe | de:shibidp:config-testzugang [2025/03/10 14:16] (aktuell) – Doreen Liebenau | ||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
* Ein neuer Service-Provider soll an den Identity-Provider einer Hochschule angebunden werden. Der SP wird von einem externen Partner administriert, | * Ein neuer Service-Provider soll an den Identity-Provider einer Hochschule angebunden werden. Der SP wird von einem externen Partner administriert, | ||
* Für den Zugang zu einem lokalen SP wird ein Funktionsaccount eingerichtet. | * Für den Zugang zu einem lokalen SP wird ein Funktionsaccount eingerichtet. | ||
- | * | + | |
**Das Problem:** Der Login über einen solchen Gast- oder Funktionsaccount darf keinen Zugriff auf andere Service-Provider ermöglichen. | **Das Problem:** Der Login über einen solchen Gast- oder Funktionsaccount darf keinen Zugriff auf andere Service-Provider ermöglichen. | ||
Zeile 58: | Zeile 58: | ||
</ | </ | ||
</ | </ | ||
- | |||
<!-- ... --> | <!-- ... --> | ||
+ | </ | ||
</ | </ | ||
- | Dabei ist '' | + | Dabei ist '' |
- | * eine Person sich //nicht// mit "shibgast" | + | * eine Person sich //nicht// mit '' |
* eine Person auf den fraglichen SP zugreift. | * eine Person auf den fraglichen SP zugreift. | ||
- | Anders ausgedrückt: | + | Anders ausgedrückt: |
+ | Der Context Ceck muss dann noch zu den Post-Authentication-Flows in '' | ||
- | FIXME: Den Kram unten noch überarbeiten | + | <file xml / |
- | + | ||
- | Diese Datei muss in '' | + | |
- | <file xml / | + | |
<!-- ... --> | <!-- ... --> | ||
- | <util:list id ="shibboleth.AttributeResolverResources"> | + | <bean parent="SAML2.SSO" |
- | < | + | |
- | < | + | |
- | </ | + | |
<!-- ... --> | <!-- ... --> | ||
</ | </ | ||
- | Schließlich ergänzt man die Definition der Daten-Konnektoren um das Attribut '' | + | Anschließend den IdP neu starten. |
- | <file xml / | + | |
- | <!-- ... --> | + | |
- | < | + | |
- | activationConditionRef=" | + | |
- | ldapURL=" | + | |
- | <!-- ... --> | + | |
- | </ | + | |
- | Dieses Attribut muss bei allen Daten-Konnektoren eingefügt werden, auch bei dem für die statischen Attribute. | + | |
- | + | ||
- | ==== Alternative Activation Condition ==== | + | |
- | + | ||
- | Alternativ sollte auch diese Activation-Condition auf Java-Script-Basis funktionieren: | + | |
- | + | ||
- | <file xml> | + | |
- | <?xml version=" | + | |
- | <!-- | + | |
- | author: Ramon Pfeiffer | + | |
- | organisation: | + | |
- | email: ramon.pfeiffer@uni-tuebingen.de | + | |
- | date: 2017-08-24 | + | |
- | + | ||
- | This file is free to use for any purposes, without any warranty, as long as you keep this comment intact. | + | |
- | --> | + | |
- | <beans | + | |
- | xmlns=" | + | |
- | xmlns: | + | |
- | xmlns: | + | |
- | xmlns: | + | |
- | xmlns: | + | |
- | xsi: | + | |
- | http:// | + | |
- | http:// | + | |
- | + | ||
- | <bean | + | |
- | id=" | + | |
- | parent=" | + | |
- | factory-method=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | var adminsAndServices = { | + | |
- | // | + | |
- | //" | + | |
- | //" | + | |
- | }; | + | |
- | + | ||
- | value = true; | + | |
- | for(admin in adminsAndServices){ | + | |
- | value = value && canAccess(admin, | + | |
- | } | + | |
- | + | ||
- | value; | + | |
- | + | ||
- | function canAccess(user, | + | |
- | return isAdministratedService(service) || !isServiceAdministrator(user); | + | |
- | } | + | |
- | + | ||
- | function isAdministratedService(service){ | + | |
- | rpCtx = profileContext.getSubcontext(" | + | |
- | return rpCtx != null && rpCtx.getRelyingPartyId().equals(service); | + | |
- | } | + | |
- | + | ||
- | function isServiceAdministrator(user){ | + | |
- | arCtx = profileContext.getSubcontext(" | + | |
- | return arCtx != null && arCtx.principal.equals(user); | + | |
- | } | + | |
- | ]]> | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | Herzlichen Dank an Ramon Pfeiffer aus Tübingen für diese Variante! | + | |
- | {{tag>archiv}} | + | {{tag>idp5}} |