L'application sur laquelle je travaille en ce moment a une valeur de délai d'expiration de session. Si l'utilisateur n'a pas interagi plus longtemps que cette valeur, la page suivante qu'il essaiera de charger, il sera invité à se connecter.
Toutes les demandes effectuées sont acheminées via ce mécanisme, qui inclut les appels AJAX. À l'origine, nous envoyions un en-tête 200 avec la page de connexion, ce qui introduit des problèmes avec AJAX car le code est exécuté si une réponse 200 est envoyée, et la plupart des données renvoyées à partir de ces appels RPC sont du JSON ou du JavaScript brut qui est évalué (ne demander: |).
J'ai suggéré qu'un 401 est meilleur, car notre analyseur JSON n'essaiera pas de consommer une page de connexion HTML .. :)
Lors de la lecture de la spécification , cependant, j'ai remarqué que le WWW-Authenticate
champ doit également être envoyé.
Quelle est une bonne valeur pour ce champ? Application Login
Suffira- t-il ?
la source
Non, vous devrez spécifier la méthode d'authentification à utiliser (généralement «Basique») et le domaine d'authentification. Voir http://en.wikipedia.org/wiki/Basic_access_authentication pour un exemple de demande et de réponse.
Vous pouvez également lire RFC 2617 - Authentification HTTP: authentification d'accès de base et Digest .
la source
Lorsque la session utilisateur expire, je renvoie un code d'état HTTP 204. Notez que l'état HTTP 204 ne contient aucun contenu. Du côté client, je fais ceci:
Voici la fonction Reload ():
la source