Dies ist eine alte Version des Dokuments!


Konfiguration

Die ReweriteMap darf nicht innerhalb der Elemente <Location> bzw. <Directory> definiert werden!

<VirtualHost sp.beispiel-uni.de:443>
	RewriteEngine On 
	RewriteMap shibchecker "prg:/usr/bin/php /etc/apache2/shibchecker_mc.php"
</VirtualHost>

Das Skript checker.php, welches von Shibd beim Login einmal über den SessionHook aufgerufen wird, muss auch in einem komplett durch Shibboleth geschützten Verzeichnis liegen.

<Location /checker>
authType shibboleth
ShibRequestSetting requireSession true
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]
		
#Test der Werte mit RewriteMap-Skript ohne mixedLazy			
RewriteCond ${shibchecker:sessionHook,%{HTTP:Shib-Session-ID},APPSESSIONNAME,%{HTTP:Cookie}} ^doLogout$
RewriteRule .* https://sp.beispiel-uni.de/eviluse/SESSIONREMOVER.php?appsid=%{ENV:appsid}
		
#mit mixedLazy darf der Aufruf nicht erfolgen, da in diesem Modus das Einschleusen einer Anwendungssession vor der Shib-Anmeldung nicht zu verhindern ist.
#Es wird jedoch vom shibchecker geprüft, ob die Anwendungssession bereits vergeben war.
#FALSCH bei mixedLazy
#RewriteCond ${shibchecker:sessionHook,%{HTTP:Shib-Session-ID},APPSESSIONNAME,%{HTTP:Cookie},mixedLazy} ^doLogout$		
</Location>
  • Zuletzt geändert: vor 8 Jahren