Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:shibidp3per_attribute_consent_4_not_required [2020/09/09 10:15] Michael Simonde:shibidp:config-per-attribute-consent [2021/05/03 15:35] (aktuell) – Link aktualisiert Silke Meyer
Zeile 26: Zeile 26:
 126               result="viewScope.attributeRequired" /> 126               result="viewScope.attributeRequired" />
 ... ...
 +
  
 </file> </file>
Zeile 91: Zeile 92:
                 </tbody>                 </tbody>
 ... ...
 +
  
 </file> </file>
Zeile 101: Zeile 103:
 idp.attribute-release.requiredLabel = notwendig idp.attribute-release.requiredLabel = notwendig
 ... ...
 +
  
 </file> </file>
  
-Wird der AttributeQuery benutzt, muss auch hier der letzte Consent vom Nutzer beachtet werden. Dazu ist in ''conf/intercept/consent-intercept-config.xml''  für die Bean ''shibboleth.consent.AttributeQuery.Condition''  der parent Parameter auf den Wert ''shibboleth.Conditions.TRUE''  zu setzen, siehe hierzu unter [[:de:shibidp3storage#user_consent_zu_attributfreigabe_bei_attribute_queries_beruecksichtigen|Server-Side-Storage, Sessions, User Consent und Persistent Identifier]]. Damit werden auch AttributeQueries gegen die zuletzt gespeicherte Nutzereinwilligung gefiltert. Hat der Nutzer nur einmal zugestimmt, werden keine Attribute übertragen.+Wird der AttributeQuery benutzt, muss auch hier der letzte Consent vom Nutzer beachtet werden. Dazu ist in ''conf/intercept/consent-intercept-config.xml''  für die Bean ''shibboleth.consent.AttributeQuery.Condition''  der parent Parameter auf den Wert ''shibboleth.Conditions.TRUE''  zu setzen, siehe hierzu unter [[de:shibidp:config-storage#user_consent_zu_attributfreigabe_bei_attribute_queries_beruecksichtigen|Server-Side-Storage, Sessions, User Consent und Persistent Identifier]]. Damit werden auch AttributeQueries gegen die zuletzt gespeicherte Nutzereinwilligung gefiltert. Hat der Nutzer nur einmal zugestimmt, werden keine Attribute übertragen.
  
 Für das Propagieren des zusätzlichen Objektes in den Attribute-Release-Flow ist leider ein Neustart des IdP nötig. Für das Propagieren des zusätzlichen Objektes in den Attribute-Release-Flow ist leider ein Neustart des IdP nötig.
Zeile 110: Zeile 113:
 Wer sich davor scheut, den System Flow zu editieren, kann die Referenz auch direkt im Velocity Template holen. Das ist nicht unbedingt schön, aber funktional getestet mit dem IDP4. Das Instanziieren eines neuen Objekts ist in Velocity nicht vorgesehen, deswegen sieht der Code etwas abenteuerlich aus. Die Änderungen beschränken sich dann auf die Datei views/intercept/attribute-release.vm: Wer sich davor scheut, den System Flow zu editieren, kann die Referenz auch direkt im Velocity Template holen. Das ist nicht unbedingt schön, aber funktional getestet mit dem IDP4. Das Instanziieren eines neuen Objekts ist in Velocity nicht vorgesehen, deswegen sieht der Code etwas abenteuerlich aus. Die Änderungen beschränken sich dann auf die Datei views/intercept/attribute-release.vm:
 <code> <code>
 +
 ... ...
 #set ($requestClass = $attributeReleaseContext.getClass().forName("javax.servlet.http.HttpServletRequest")) #set ($requestClass = $attributeReleaseContext.getClass().forName("javax.servlet.http.HttpServletRequest"))
Zeile 116: Zeile 120:
  
 </code> </code>
-<code>...+ 
 +<code> 
 +...
    <td style="vertical-align: top">    <td style="vertical-align: top">
                                         #if ($attributeReleaseFlowDescriptor.perAttributeConsentEnabled && !($isAttributeRequired.apply($attribute)))                                         #if ($attributeReleaseFlowDescriptor.perAttributeConsentEnabled && !($isAttributeRequired.apply($attribute)))
Zeile 128: Zeile 134:
 </code> </code>
  
-{{tag>idp3}}+<callout color="#ff9900" title="IdP 4?"> 
 +Das Statement $isAttributeRequired.apply($attribute) produziert beim IDP4 eine Deprecation Warnung und muss durch $isAttributeRequired.test($attribute) ersetzt werden. Das gilt vermutlich auch für die Anleitung oben mit dem System flow. 
 +</callout> 
 +{{tag>fixme}}
  
  
  • Zuletzt geändert: vor 4 Jahren