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
Letzte Überarbeitung Beide Seiten der Revision
de:shibidp3consent_dsgvo [2019/04/17 17:04]
Wolfgang Pempe
de:shibidp3consent_dsgvo [2019/04/17 17:11]
Wolfgang Pempe [Attribute Query und User Consent]
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 159: Zeile 159:
 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-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-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 12 Tagen