0 votes

Redirection d'une requête HTTP et des codes/d'en-têtes de réponse

Je dispose d'une application web faiblement couplée (une partie utilise PHP, l'autre utilise WGSI). Le framework WSGI/python partage l'authentification avec l'application PHP, ce qui signifie qu'en général, l'utilisateur devrait

  1. Se connecter via l'interface PHP
  2. Maintenant l'utilisateur peut accéder à n'importe quelle page WSGI [ceci fonctionne si l'utilisateur est connecté]

Ce que je veux faire, c'est que si un utilisateur essaie d'accéder à une page WSGI sans être connecté (peut-être à partir d'un signet précédent), je voudrais le rediriger vers la page de connexion, et après s'être connecté le rediriger vers l'URL d'origine.

Je ne suis pas très expérimenté en programmation côté serveur, donc voici mes questions.

  1. Comment rediriger l'utilisateur vers la page de connexion PHP? Quel devrait être le code d'état HTTP? Dois-je définir des informations d'en-tête supplémentaires?

  2. Quelle est une bonne méthode/pratique recommandée pour transmettre l'URL d'origine à la page de connexion, puis après la connexion la rediriger l'utilisateur en arrière.

Merci!

1voto

jps Points 4120

Si l'utilisateur n'est pas connecté, vous pouvez définir le code d'état sur 401 Unauthorized et rediriger avec location: /login.php?dest=/admin/only.php.

Cela ressemblerait à :

header("HTTP/1.0 404 Not Found");
header("Location: /login.php?dest=" . $_SERVER['PHP_SELF']);

en php.

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