Forum Ametys

Forum de la communauté Ametys

You are not logged in.

#1 18/06/2012 10:26:51

fred.ravetier
Guest
From: Toulouse
Registered: 12/08/2010
Posts: 34
Website

Forcer l'authentification front-office avec shibboleth

Après installation de shibboleth sur /, shibboleth n'est pas utilisé lorsqu'une page est dans le cache.

Ce problème vient d'une règle de redirection qui vérifie si la page est dans le cache. Dans ce cas apache sert la page directement sans appeler shibboleth, car l'information [Location /] n'est pas encore passée dans Apache.

Cette règle est

RewriteCond %{DOCUMENT_ROOT}/www/$1 -f
RewriteRule ^/(.+)$ %{DOCUMENT_ROOT}/www/$1 [L]

Il suffit de rajouter une condition sur cette règle pour s'assurer que shibboleth est déjà passé:

RewriteCond %{LA-U:ENV:Shib-Authentication-Instant} ^20.*

Ce qui nous donne:

RewriteCond %{DOCUMENT_ROOT}/www/$1 -f
RewriteCond %{LA-U:ENV:Shib-Authentication-Instant} ^20.*
RewriteRule ^/(.+)$ %{DOCUMENT_ROOT}/www/$1 [L]

Dans ce cas, quelque soit la page, "Location /" prend la main puis fournit la page (à partir du cache si elle existe dans le cache).

J'ai vérifié que le cache est toujours utilisé en arrêtant le tomcat du site.

Source de l'idée:

Offline

#2 18/06/2012 10:32:34

fred.ravetier
Guest
From: Toulouse
Registered: 12/08/2010
Posts: 34
Website

Re: Forcer l'authentification front-office avec shibboleth

J'avais trouvé d'autres pistes (non explorée):

Sur un autre site il y avait:

RewriteCond %{IS_SUBREQ} ^false$
RewriteCond %{LA-U:REMOTE_USER} =""

Offline

Board footer

Powered by FluxBB