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:shibslohttpd:configuration:lazy [2015/12/09 10:20] Schreiterer, Frankde:shibslohttpd:configuration:lazy [2015/12/09 11:36] (aktuell) – [Schutz der Anwendung] Schreiterer, Frank
Zeile 8: Zeile 8:
 ==== Schutz der Anwendung ==== ==== Schutz der Anwendung ====
  
-Konfiguration **Apache:** Login+Konfiguration **Apache 2.4:** Login
  
 <code Apache httpd.conf> <code Apache httpd.conf>
 <Location /LOGINLAZY> <Location /LOGINLAZY>
-   #KEINE Prüfung mit RewriteMap-Skript, da die Prüfung im Anwendungsverzeichnis erfolgt.!!!+   #KEINE Prüfung mit RewriteMap-Skript, da die Prüfung in der <Location /LAZYAPPLICATION> der Anwendung erfolgt.!!!
    authType shibboleth    authType shibboleth
    ShibRequestSetting requireSession true    ShibRequestSetting requireSession true
Zeile 22: Zeile 22:
 </code> </code>
  
-Konfiguration **Apache:** Anwendung (komplett)+Konfiguration **Apache 2.4:** Anwendung (komplett)
 <code Apache httpd.conf> <code Apache httpd.conf>
 <Location /LAZYAPPLICATION> <Location /LAZYAPPLICATION>
-#Lazy Session Shibboleth +   #Lazy Session Shibboleth 
-authType shibboleth +   authType shibboleth 
-ShibRequestSetting requireSession false +   ShibRequestSetting requireSession false 
-Require shibboleth  +   Require shibboleth 
-ShibUseHeaders on +   ShibUseHeaders on 
-RewriteEngine On +   RewriteEngine On 
-#den Wert der Anwendungssession merken um die Anwendungssession sauber zerstören zu können +   #den Wert der Anwendungssession merken um die Anwendungssession sauber zerstören zu können 
-RewriteCond %{HTTP:Cookie} APPSESSIONNAME=([^;]+) +   RewriteCond %{HTTP:Cookie} APPSESSIONNAME=([^;]+) 
-RewriteRule .* - [E=appsid:%1] +   RewriteRule .* - [E=appsid:%1] 
-  +    
-#prüfen, ob die Anfrage gültig ist und ggf. das Logout durchführen +   #prüfen, ob die Anfrage gültig ist und ggf. das Logout durchführen 
-#ACHTUNG: Erst die Anwendungssession zerstören und das das Shibboleth-Logout! +   #ACHTUNG: Erst die Anwendungssession zerstören und das das Shibboleth-Logout! 
-  +   RewriteCond ${shibchecker:lazy,%{HTTP:Shib-Session-ID},APPSESSIONNAME,%{HTTP:Cookie}} ([^;]+) 
-RewriteCond ${shibchecker:lazy,%{HTTP:Shib-Session-ID},APPSESSIONNAME,%{HTTP:Cookie}} ([^;]+) +   #Um die Aufrufe zu minimieren, wird das Ergebnis in einer Umgebungsvariable gespeichert und dann können die  
-#Um die Aufrufe zu minimieren, wird das Ergebnis in einer Umgebungsvariable gespeichert und dann können die verschiedenen Rückgabewerte wieder in einzelnen Bedingungen ausgewertet werden +   #verschiedenen Rückgabewerte wieder in einzelnen Bedingungen ausgewertet werden 
-RewriteRule .* - [E=shibcheckertype:%1] +   RewriteRule .* - [E=shibcheckertype:%1] 
-  +    
-#Login? - das redirect muss automatisch erfolgen, da sonst ein Nutzer die Möglichkeit hätte, ein altes Cookie der Anwendung einzuschleusen und durch den sessionHook und den erneuten Aufruf von shibchecker wird sonst  +   #Login? - das redirect muss automatisch erfolgen, da sonst ein Nutzer die Möglichkeit hätte, ein altes Cookie  
-# eine Anwendungs-Session gefunden, die dann zum Logout führt +   #der Anwendung einzuschleusen und durch den sessionHook und den erneuten Aufruf von shibchecker wird sonst 
-RewriteCond %{ENV:shibcheckertype} ^doLogin$ +   #eine Anwendungs-Session gefunden, die dann zum Logout führt 
-RewriteRule .* https://sp.beispiel-uni.de/LOGINLAZY +   RewriteCond %{ENV:shibcheckertype} ^doLogin$ 
-  +   RewriteRule .* https://sp.beispiel-uni.de/LOGINLAZY 
-#Anwendungssession bekannt machen? - Anwendungssession muss noch initialisiert (shibchecker bekannt gemacht werden) werden, damit das Anwendungs-Cookie nicht verändert werden kann +    
-#bevorzugt +   #Anwendungssession bekannt machen? - Anwendungssession muss noch initialisiert (shibchecker bekannt gemacht werden) 
-RewriteCond %{ENV:shibcheckertype} ^doAppSession$ +   #werden, damit das Anwendungs-Cookie nicht verändert werden kann 
-über ein extra Skript, wenn ohne weiteres die Anwendungssession initialisiert werden kann +   #bevorzugt 
-RewriteRule .* https://sp.beispiel-uni.de/initsess/initsess.php +   RewriteCond %{ENV:shibcheckertype} ^doAppSession$ 
- +   #über ein extra Skript, wenn ohne weiteres die Anwendungssession initialisiert werden kann 
-#oder über Refresh-Header, falls man das Initialisieren der Anwendungssession nicht selbst triggern kann +   RewriteRule .* https://sp.beispiel-uni.de/Path/To/initsess.php 
-#RewriteCond %{ENV:shibcheckertype} ^doAppSession$ +    
-#RewriteRule .* - [E=doAppSession:1]  +   #oder über Refresh-Header, falls man das Initialisieren der Anwendungssession nicht selbst triggern kann 
-#Header set Refresh "0" env=doAppSession +   #RewriteCond %{ENV:shibcheckertype} ^doAppSession$ 
-  +   #RewriteRule .* - [E=doAppSession:1] 
-#Logout?  +   #Header set Refresh "0" env=doAppSession 
-RewriteCond %{ENV:shibcheckertype} ^doLogout$ +    
-RewriteRule .*  https://sp.beispiel-uni.de/eviluse/SESSIONREMOVER.php?appsid=%{ENV:appsid}+   #Logout? 
 +   RewriteCond %{ENV:shibcheckertype} ^doLogout$ 
 +   RewriteRule .*  https://sp.beispiel-uni.de/Path/To/remsess.php?appsid=%{ENV:appsid}
  
 </Location> </Location>
  
 +</code>
 +
 +Anmerkung: \\ 
 +Führt die Anwendung selbständig das Redirect zum Shibboleth-Login und auch die Initialisierung der Anwendungssession durch, so verkürzt sich die Konfiguration, da auf die Rückgabewerte doLogin und doAppSession nicht reagiert werden muss.
 +
 +Konfiguration **Apache 2.4:** Anwendung (reduziert)
 +
 +<code Apache httpd.conf>
 +<Location /LAZYAPPLICATION>
 +   #Lazy Session Shibboleth
 +   authType shibboleth
 +   ShibRequestSetting requireSession false
 +   Require shibboleth
 +   ShibUseHeaders on
 +   RewriteEngine On
 +   #den Wert der Anwendungssession merken um die Anwendungssession sauber zerstören zu können
 +   RewriteCond %{HTTP:Cookie} APPSESSIONNAME=([^;]+)
 +   RewriteRule .* - [E=appsid:%1]
 +   #prüfen, ob die Anfrage gültig ist und ggf. das Logout durchführen
 +   #ACHTUNG: Erst die Anwendungssession zerstören und das das Shibboleth-Logout!
 +   RewriteCond ${shibchecker:lazy,%{HTTP:Shib-Session-ID},APPSESSIONNAME,%{HTTP:Cookie}} ^doLogout$
 +   RewriteRule .*  https://sp.beispiel-uni.de/Path/To/remsess.php?appsid=%{ENV:appsid}
 +</Location>
 </code> </code>
  • Zuletzt geändert: vor 8 Jahren