Перенаправление HTTP-запроса и кода ответа / заголовков - PullRequest
0 голосов
/ 26 марта 2010

У меня слабосвязанное веб-приложение (одна часть использует PHP, другая - WGSI). Платформа WSGI / python разделяет аутентификацию с приложением PHP, что означает, что обычно пользователь должен

  1. Войти через интерфейс PHP
  2. Теперь пользователь может получить доступ к любой из страниц WSGI [эта часть работает, если пользователь вошел в систему]

Что я хочу сделать, так это то, что если пользователь пытается получить доступ к странице WSGI, не входя в систему (возможно, из предыдущей закладки), я бы хотел перенаправить его на страницу входа, а после входа перенаправить обратно на оригинальный URL.

Я не очень опытен в программировании на стороне сервера, поэтому вот мои вопросы.

  1. Как мне перенаправить пользователя обратно на страницу входа в PHP? Каким должен быть код статуса HTTP? Нужно ли устанавливать дополнительную информацию заголовка?

  2. Каков хороший способ / лучший метод передачи исходного URL-адреса на страницу входа, а затем после входа в систему перенаправить пользователя обратно.

Спасибо!

1 Ответ

1 голос
/ 26 марта 2010

Если пользователь не вошел в систему, вы можете установить код состояния на 401 Unauthorized и перенаправить с помощью location: /login.php?dest=/admin/only.php.

Это будет выглядеть так:

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

в php.

...