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:shibidp3consent_dsgvo [2019/04/17 17:04]
Wolfgang Pempe
de:shibidp3consent_dsgvo [2019/12/04 09:46] (aktuell)
Silke Meyer
Zeile 146: Zeile 146:
  
 ==== Attribute Query und User Consent ==== ==== Attribute Query und User Consent ====
-Ab Shibboleth IdP 3.4.3 kann bei Attribute Queries die jeweils letzte ​Endscheidung ​des Users zur Attributfreigabe berücksichtigt werden. Dies funktioniert natürlich nur, wenn die (virtuellen) Entscheidungen zur Attributfreigabe in einer IdP-seitigen Datenbank abgelegt werden und eine entsprechende Condition gesetzt ist. Siehe hierzu unter [[de:​shibidp3storage#​user_consent_zu_attributfreigabe_bei_attribute_queries_beruecksichtigen|Server-Side-Storage - User Consent]].+Ab Shibboleth IdP 3.4.3 kann bei Attribute Queries die jeweils letzte ​Entscheidung ​des Users zur Attributfreigabe berücksichtigt werden. Dies funktioniert natürlich nur, wenn die (virtuellen) Entscheidungen zur Attributfreigabe in einer IdP-seitigen Datenbank abgelegt werden und eine entsprechende Condition gesetzt ist. Siehe hierzu unter [[de:​shibidp3storage#​user_consent_zu_attributfreigabe_bei_attribute_queries_beruecksichtigen|Server-Side-Storage - User Consent]].
  
 Damit Attribute Queries unter diesen Rahmenbedingungen auch im oben skizzierten Setup funktionieren,​ sind weitere Konfigurationsschritte erforderlich:​ Damit Attribute Queries unter diesen Rahmenbedingungen auch im oben skizzierten Setup funktionieren,​ sind weitere Konfigurationsschritte erforderlich:​
  
-Zunächst die Dateien ​+Zunächst die Dateien ​\\
 ''​./​system/​flows/​intercept/​attribute-release-query-beans.xml''​ und \\ ''​./​system/​flows/​intercept/​attribute-release-query-beans.xml''​ und \\
 ''​./​system/​flows/​intercept/​attribute-release-query-flow.xm''​ \\ ''​./​system/​flows/​intercept/​attribute-release-query-flow.xm''​ \\
Zeile 158: Zeile 158:
  
 Anschließend müssen diverse Anpassungen vorgenommen werden: Anschließend müssen diverse Anpassungen vorgenommen werden:
-<file xml ./​flows/​intercept/​attribute-release-query-beans.xml>​ +<file xml ./​flows/​intercept/​attribute-release-query/attribute-release-query-beans.xml>
-<?xml version="​1.0"​ encoding="​UTF-8"?>​ +
-<beans xmlns="​http://​www.springframework.org/​schema/​beans"​ xmlns:​xsi="​http://​www.w3.org/​2001/​XMLSchema-instance"​ +
-    xmlns:​context="​http://​www.springframework.org/​schema/​context"​ xmlns:​c="​http://​www.springframework.org/​schema/​c"​ +
-    xmlns:​p="​http://​www.springframework.org/​schema/​p"​ xmlns:​util="​http://​www.springframework.org/​schema/​util"​ +
-    xsi:​schemaLocation="​http://​www.springframework.org/​schema/​beans http://www.springframework.org/​schema/​beans/​spring-beans.xsd +
-                           ​http://​www.springframework.org/​schema/​context http://​www.springframework.org/​schema/​context/​spring-context.xsd +
-                           ​http://​www.springframework.org/​schema/​util http://​www.springframework.org/​schema/​util/​spring-util.xsd"​ +
- +
-    default-init-method="​initialize"​ default-destroy-method="​destroy">​ +
- +
-    <bean class="​org.springframework.context.support.PropertySourcesPlaceholderConfigurer"​ +
-        p:​placeholderPrefix="​%{"​ p:​placeholderSuffix="​}"​ /> +
- +
-    <bean class="​net.shibboleth.ext.spring.config.IdentifiableBeanPostProcessor"​ /> +
-    <bean class="​net.shibboleth.idp.profile.impl.ProfileActionBeanPostProcessor"​ /> +
     <!-- Use '​intercept/​attribute-release'​ as storage context. -->     <!-- Use '​intercept/​attribute-release'​ as storage context. -->
  
Zeile 206: Zeile 190:
         p:​storageContextLookupStrategy-ref="​AttributeReleaseMustStorageContextLookupStrategy"​ />         p:​storageContextLookupStrategy-ref="​AttributeReleaseMustStorageContextLookupStrategy"​ />
  
-    <bean id="​ReadAttributeReleaseGlobalConsentFromStorage"​ 
-        class="​net.shibboleth.idp.consent.flow.storage.impl.ReadConsentFromStorage"​ scope="​prototype"​ 
-        p:​storageKeyLookupStrategy-ref="​shibboleth.consent.UserStorageKey"​ 
-        p:​storageContextLookupStrategy-ref="​AttributeReleaseStorageContextLookupStrategy"​ /> 
- 
-</​beans>​ 
 </​file>​ </​file>​
  
-In der Flow-Definition ​der Block nach ''<​!-- Read consent from storage -->'':​ +In der Flow-Definition ​den Block nach ''<​!-- Read consent from storage -->'' ​anpassen und erweitern
-<file xml ./​flows/​intercept/​attribute-release-query-flow.xml>​+<file xml ./​flows/​intercept/​attribute-release-query/​attribute-release-query-flow.xml>​
     <!-- Read consent from storage. -->     <!-- Read consent from storage. -->
  
Zeile 250: Zeile 228:
         <​transition on="​proceed"​ to="​TestForGlobalAttributeConsent"​ />         <​transition on="​proceed"​ to="​TestForGlobalAttributeConsent"​ />
     </​action-state> ​     </​action-state> ​
 +    ​
 +    <!-- hier noch der angepasste Pfad fürs Import-Statement der Attribute Release Bohne -->
 +    <​bean-import resource="​../​../​../​system/​flows/​intercept/​attribute-release-beans.xml"​ />
 +</​file>​
 +
 +Anschließend noch den flow in ''​./​conf/​intercept/​profile-intercept.xml''​ bekannt machen:
 +<file xml ./​conf/​intercept/​profile-intercept.xml>​
 +    <bean id="​shibboleth.AvailableInterceptFlows"​ parent="​shibboleth.DefaultInterceptFlows"​ lazy-init="​true">​
 +        <​property name="​sourceList">​
 +            <list merge="​true">​
 +               <​!-- ... -->
 +               <​bean id="​intercept/​attribute-release-query"​ parent="​shibboleth.consent.AttributeReleaseFlow"​ />
 +               <​!-- ... -->
 +            </​list>​
 +        </​property>​
 +   </​bean>​
 </​file>​ </​file>​
  • Zuletzt geändert: vor 8 Monaten