Dies ist eine alte Version des Dokuments!
Konfiguration
RewriteMap definieren
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>
Einrichtung für SessionHook
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>