Аутентификация пользователя и перенаправление при использовании ajax и php - PullRequest
3 голосов
/ 20 декабря 2011

Я обычно ограничиваю доступ пользователей, перенаправляя пользователей, если у них нет действительного сеанса.

Например:

<?php
  session_start();
  if (!isset($_SESSION["userInfo"])) {
    header("Location: index.php");
  }
?>

, но я начинаю новый проект, используя ajax длязагружаются все мои страницы.

Как мне принудительно обновить страницу моего веб-приложения, если сеанс больше не является действительным?

Если перед всем моим запросом ajax предшествует запрос аутентификации с выделением, и еслине удается обновить страницу с помощью javascript?

Или я должен просто включить данные аутентификации в каждый из моих ответов json и затем выполнить аутентификацию перед дальнейшей обработкой запросов ajax?

Есть ли лучший способсделать это?

1 Ответ

2 голосов
/ 20 декабря 2011

В идеале вы разрабатываете свой клиентский код достаточно хорошо, чтобы у вас был способ обрабатывать различные ошибки со стороны сервера.

Когда ваш клиентский код выполняет ajax-вызов, он должен смотреть настатус ответа.Если у пользователя нет сеанса, сервер должен ответить 401 (неавторизованным) ответом, что означает «это действительный URL, но вы должны пройти аутентификацию».

Всякий раз, когда ваш код на стороне клиента получает 401, он должен делать все необходимое для входа пользователя в систему. Это может быть перенаправление их на экран входа в систему или выполнение какой-либо модальной аутентификации DHTML-popup.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...