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>