3 votes

WWW-Authenticate signout

J'ai remarqué qu'une fois, Firefox fait apparaître une modale en réponse à un en-tête WWW-Authenticate dans une réponse HTTP. Ensuite, Firefox enregistre le nom d'utilisateur/mot de passe jusqu'à la fermeture de Firefox. Le site Développeur Web Le plug-in permet aux développeurs de se déconnecter. Mais quel message HTTP doit être envoyé au navigateur pour perdre ces informations d'identification mises en cache ?

3voto

Je crains qu'il n'y ait aucun moyen d'envoyer gracieusement au navigateur l'ordre de cesser de conserver (et d'envoyer dans chaque requête http à votre serveur) l'identifiant que vous avez récupéré au début de la navigation de l'utilisateur (par la réponse http 401).

2voto

User1 Points 8352

J'ai trouvé une solution de contournement raisonnable. C'est un peu compliqué, mais cela fonctionne très bien. J'ai créé une table avec un champ GUID. Elle n'a pas commencé avec des enregistrements. Voici la solution :

  1. L'utilisateur clique sur "Déconnexion".
  2. Logout script ajoute un GUID à la nouvelle table.
  3. Logout script redirige l'utilisateur vers une URL qui a le GUID comme paramètre.
  4. Lorsqu'un utilisateur consulte une URL avec le GUID comme paramètre, le système recherche le GUID dans la table.
    1. Si le GUID est dans la table, supprimez l'enregistrement avec le GUID et donnez un code de réponse nom d'utilisateur/mot de passe invalide (même si les informations d'identification sont correctes).
    2. Si le GUID ne figure pas dans le tableau, validez les informations d'identification.

Cette nouvelle table peut être rapidement gonflée par les pirates informatiques, aussi assurez-vous que chaque utilisateur ne peut avoir qu'une seule entrée dans la table. Vous pouvez également utiliser des timestamps et avoir un travail par lot pour élaguer la table de temps en temps.

1voto

pieman72 Points 622

Firefox effacera son UN/PW de WWW-auth mis en cache avec un 403 Forbidden .

Le chrome s'efface avec un 403 Forbidden ou un 401 Not Authorized .

Safari vous demandera toujours si vous souhaitez mettre en cache ou non.

L'IE, c'est du caca.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X