Bonjour,
J'ai un prog CGI qui ouvre sur le navigateur client une fenetre d'authentification basique. Une fois que le client s'est logué avec succès à partir de cette fenêtre et s'il redemande l'accès à cette page par la suite, la fenêtre d'authentification basique ne s'ouvre plus (tant que le navigateur reste ouvert). Je suppose que c'est parce-que les paramètres d'authentification ont dû être sauvés en cache chez le client.
Ma question est: comment maîtriser la durée de vie de la variable HTTP_AUTHORIZATION, de façon à forcer le client à re-saisir ses paramètres d'authentification basique à chaque entrée sur la page?
Nb: l'en-tete HTTP 'Cache-Control: No-cache' ne semble pas fonctionner pour ceci.
Merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jbongran
Didier Cabalé wrote:
Bonjour, J'ai un prog CGI qui ouvre sur le navigateur client une fenetre d'authentification basique. Une fois que le client s'est logué avec succès à partir de cette fenêtre et s'il redemande l'accès à cette page par la suite, la fenêtre d'authentification basique ne s'ouvre plus (tant que le navigateur reste ouvert). Je suppose que c'est parce-que les paramètres d'authentification ont dû être sauvés en cache chez le client. Ma question est: comment maîtriser la durée de vie de la variable HTTP_AUTHORIZATION, de façon à forcer le client à re-saisir ses paramètres d'authentification basique à chaque entrée sur la page? Nb: l'en-tete HTTP 'Cache-Control: No-cache' ne semble pas fonctionner pour ceci. Merci
De mémoire l'entête Cache-controle ne concerne pas les clients mais les éventuels serveurs de caches (proxy) pouvant se trouver sur la route. Les propriétés Expires et ExpiresAbsolute me paraissent plus appropriées.
Didier Cabalé wrote:
Bonjour,
J'ai un prog CGI qui ouvre sur le navigateur client une fenetre
d'authentification basique. Une fois que le client s'est logué avec
succès à partir de cette fenêtre et s'il redemande l'accès à cette
page par la suite, la fenêtre d'authentification basique ne s'ouvre
plus (tant que le navigateur reste ouvert). Je suppose que c'est
parce-que les paramètres d'authentification ont dû être sauvés en
cache chez le client. Ma question est: comment maîtriser la durée de
vie de la variable HTTP_AUTHORIZATION, de façon à forcer le client à
re-saisir ses paramètres d'authentification basique à chaque entrée
sur la page?
Nb: l'en-tete HTTP 'Cache-Control: No-cache' ne semble pas
fonctionner pour ceci.
Merci
De mémoire l'entête Cache-controle ne concerne pas les clients mais les
éventuels serveurs de caches (proxy) pouvant se trouver sur la route.
Les propriétés Expires et ExpiresAbsolute me paraissent plus appropriées.
Bonjour, J'ai un prog CGI qui ouvre sur le navigateur client une fenetre d'authentification basique. Une fois que le client s'est logué avec succès à partir de cette fenêtre et s'il redemande l'accès à cette page par la suite, la fenêtre d'authentification basique ne s'ouvre plus (tant que le navigateur reste ouvert). Je suppose que c'est parce-que les paramètres d'authentification ont dû être sauvés en cache chez le client. Ma question est: comment maîtriser la durée de vie de la variable HTTP_AUTHORIZATION, de façon à forcer le client à re-saisir ses paramètres d'authentification basique à chaque entrée sur la page? Nb: l'en-tete HTTP 'Cache-Control: No-cache' ne semble pas fonctionner pour ceci. Merci
De mémoire l'entête Cache-controle ne concerne pas les clients mais les éventuels serveurs de caches (proxy) pouvant se trouver sur la route. Les propriétés Expires et ExpiresAbsolute me paraissent plus appropriées.
Didier Cabalé
>>De mémoire l'entête Cache-controle ne concerne pas les clients mais les
éventuels serveurs de caches (proxy) pouvant se trouver sur la route. Les propriétés Expires et ExpiresAbsolute me paraissent plus appropriées. <<
La solution ne me parait pas être dans le délai d'expiration de la page, mais dans le délai d'expiration de la variable HTTP_AUTHORIZATION. Pourquoi? Parce-que le CGI que j'ai développé conditionne l'envoi de la page "HTTP/1.1 200 Welcome !" ou la page "HTTP/1.1 401 Unauthorized" au résultat d'une fonction API windows de type booléen = GetEnvironmentVariable('HTTP_AUTHORIZATION', Buff, SizeOf(Buff));. Si le résultat de cette fonction = 0 -> page "HTTP/1.1 401 Unauthorized", avec envoi du formulaire d'authentification. Si le résultat de cette fonction > 0 -> page "HTTP/1.1 200 Welcome !" Or il s'avère que cette fonction renvoie 0 tant qu'elle n'a pas été déjà > 0 par le navigateur client. Autrement dit: si le navigateur réussit à se loguer correctement par le formulaire d'authentification, il ne lui sera plus jamais demandé de ré-authentifier .. sauf s'il ferme le navigateur, qu'il le réouvre puis qu'il rappelle le CGI.
Me comprenez-vous mieux?
>>De mémoire l'entête Cache-controle ne concerne pas les clients mais les
éventuels serveurs de caches (proxy) pouvant se trouver sur la route.
Les propriétés Expires et ExpiresAbsolute me paraissent plus appropriées. <<
La solution ne me parait pas être dans le délai d'expiration de la page, mais dans le délai d'expiration de la variable HTTP_AUTHORIZATION. Pourquoi?
Parce-que le CGI que j'ai développé conditionne l'envoi de la page "HTTP/1.1 200 Welcome !" ou la page "HTTP/1.1 401 Unauthorized" au résultat d'une fonction API windows de type booléen = GetEnvironmentVariable('HTTP_AUTHORIZATION', Buff, SizeOf(Buff));.
Si le résultat de cette fonction = 0 -> page "HTTP/1.1 401 Unauthorized", avec envoi du formulaire d'authentification.
Si le résultat de cette fonction > 0 -> page "HTTP/1.1 200 Welcome !"
Or il s'avère que cette fonction renvoie 0 tant qu'elle n'a pas été déjà > 0 par le navigateur client. Autrement dit: si le navigateur réussit à se loguer correctement par le formulaire d'authentification, il ne lui sera plus jamais demandé de ré-authentifier .. sauf s'il ferme le navigateur, qu'il le réouvre puis qu'il rappelle le CGI.
>>De mémoire l'entête Cache-controle ne concerne pas les clients mais les
éventuels serveurs de caches (proxy) pouvant se trouver sur la route. Les propriétés Expires et ExpiresAbsolute me paraissent plus appropriées. <<
La solution ne me parait pas être dans le délai d'expiration de la page, mais dans le délai d'expiration de la variable HTTP_AUTHORIZATION. Pourquoi? Parce-que le CGI que j'ai développé conditionne l'envoi de la page "HTTP/1.1 200 Welcome !" ou la page "HTTP/1.1 401 Unauthorized" au résultat d'une fonction API windows de type booléen = GetEnvironmentVariable('HTTP_AUTHORIZATION', Buff, SizeOf(Buff));. Si le résultat de cette fonction = 0 -> page "HTTP/1.1 401 Unauthorized", avec envoi du formulaire d'authentification. Si le résultat de cette fonction > 0 -> page "HTTP/1.1 200 Welcome !" Or il s'avère que cette fonction renvoie 0 tant qu'elle n'a pas été déjà > 0 par le navigateur client. Autrement dit: si le navigateur réussit à se loguer correctement par le formulaire d'authentification, il ne lui sera plus jamais demandé de ré-authentifier .. sauf s'il ferme le navigateur, qu'il le réouvre puis qu'il rappelle le CGI.
Me comprenez-vous mieux?
Didier Cabalé
Merci pour le bout de code. Après essai sur l'authentification suivante, il s'avère que le CGI boucle sur le formulaire d'authentification sans jamais pouvoir en sortir. En fait, je pense que mon besoin est impossible à résoudre simplement -> cf http://www.caucho.com/support/resin-interest/0306/0120.html
Merci pour tout
Merci pour le bout de code.
Après essai sur l'authentification suivante, il s'avère que le CGI boucle sur le formulaire d'authentification sans jamais pouvoir en sortir.
En fait, je pense que mon besoin est impossible à résoudre simplement -> cf http://www.caucho.com/support/resin-interest/0306/0120.html
Merci pour le bout de code. Après essai sur l'authentification suivante, il s'avère que le CGI boucle sur le formulaire d'authentification sans jamais pouvoir en sortir. En fait, je pense que mon besoin est impossible à résoudre simplement -> cf http://www.caucho.com/support/resin-interest/0306/0120.html