Как реализовать вход в приложение Backbone - PullRequest
2 голосов
/ 15 января 2012

У меня есть приложение Backbone, где мы знаем, как начать вводить логин.До сих пор у нас не было логина, и приложение начиналось с создания всех соответствующих моделей и коллекций при запуске.Теперь API требует куки-файл сеанса для ответа.

Какое было бы лучшее решение:

  1. с login.html, который перенаправляет в app.html после успешного входа
  2. имея логин для участия в приложении Backbone с собственным маршрутом

В обоих решениях, как я могу предотвратить повторное появление диалогового окна входа в систему пользователем, просто нажав кнопку назад

1 Ответ

1 голос
/ 15 января 2012

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

/admin/ на этом маршруте у меня есть простая промежуточная программа, проверяющая сеанс пользователя, если пользователь не аутентифицирован,он перенаправляется через /admin/login.

Как только пользователь получает действительный сеанс, он может свободно перейти на /admin/, где находится мое приложение.То же самое применимо, когда вам нужно аутентифицировать пользователей с помощью какого-либо OpenID или поставщика OAuth.

Нет смысла обрабатывать аутентификацию в браузере, так как это слишком просто для обработки в вашем бэкэнде.На самом деле в моем бэкэнде у меня есть только три стандартных маршрута:

/* accessible routes */
/admin/login
/* protected routes: */
/admin/
/admin/(...)
/admin/logout

Для решения проблемы с кнопкой «назад» вам просто нужно знать, есть ли у пользователя действительный токен сеанса, а затем перенаправить / вызвать на нужный маршрут(остерегайтесь петель перенаправления)

...