Aller au contenu

Sujets conseillés

Posté

Hello,

Je suis débutant smile.gif

Un site intranet a été réalisé...(avant) y a pas de doc...

avec des redirections et une authentification avec CAS (un SSO de Yale)... j'essaye de comprendre car y a des fosi on arrive pas à se connecter

Aussi je ne comprends pas les lignes en orange :

# URL with enweb1_enu AND NO ticket= AND SWECmd=GotoView AND "&"
RewriteCond %{REQUEST_URI} ^/enweb1_enu(.*)$
RewriteCond %{QUERY_STRING} !^(.*)ticket=(.*)$
RewriteCond %{QUERY_STRING} ^(.*)SWECmd=GotoView(.*)$
RewriteCond %{QUERY_STRING} ^(.*)&(.*)$
RewriteRule ^(.*)$ $1?%1\%26%2 [NE,R=301]

# URL with enweb1_enu AND NO ticket= AND SWECmd=GotoView AND "&"
# Go to CAS + URL
RewriteCond %{QUERY_STRING} !^(.*)ticket=(.*)$
RewriteCond %{QUERY_STRING} ^(.*)SWECmd=Start(.*)$
RewriteCond %{REQUEST_URI} ^/enweb1_enu(.*)$
RewriteRule ^/(.*)$ http://guidecas-envweb1.staging/GUIDeCAS/login?service=http://%{HTTP_HOST}%{REQUEST_URI}?%{QUERY_STRING}

# URL with enweb1_enu AND NO ticket= AND "_sn="
# Rewrite rule ???
RewriteCond %{REQUEST_URI} ^/enweb1_enu(.*)$
RewriteCond %{QUERY_STRING} !^(.*)ticket=(.*)$
RewriteCond %{HTTP_COOKIE} (^|;\s*)_sn=([^;]+)
RewriteRule ^/(.*)$ - [E=ticket:BNP_sn=%2]

# URL with enweb1_enu AND ticket= AND NO "_sn=" AND COOKIE
# Rewrite rule ???
RewriteCond %{REQUEST_URI} ^/enweb1_enu(.*)$
RewriteCond %{QUERY_STRING} ^(.*)ticket=(.*)$
RewriteCond %{QUERY_STRING} !^(.*)_sn=(.*)$
RewriteCond %{HTTP_COOKIE} (^|;\s*)_sn=([^;]+)
RewriteRule ^/(.*)$ - [E=ticket:_sn=%2&%{QUERY_STRING}]

# URL with enweb1_enu AND ticket= AND NO "_sn=" AND COOKIE
# Rewrite rule ???
RewriteCond %{REQUEST_URI} ^/enweb1_enu(.*)$
RewriteCond %{HTTP_COOKIE} (^|;\s*)_sn=([^;]+)
RewriteCond %{QUERY_STRING} ^(.*)ticket=(.*)$
RewriteCond %{QUERY_STRING} ^(.*)_sn=(.*)$
RewriteRule ^/(.*)$ - [E=ticket:%0]

Header add CAS_TICKET "%{ticket}e"
RequestHeader set CAS_TICKET "%{ticket}e"

Merci par avance pour votre aide

smile.gif

Posté

La suite est simple pourtant...



Le %1 est une référence arrière vers la première chaîne trouvée et mise entre parenthèses dans une de tes conditions...


Dans ton premier exemple,



RewriteCond %{REQUEST_URI} ^/enweb1_enu(.*)$

cela correspond à ce qui se trouve après enweb1_enu.



Le \%26 est un littéral, vu que le signe % est échappé par un anti-slash.



Le %2 correspond à la référence arrière de la deuxième chaîne qui donne un "match" dans tes conditions.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...