Страница входа в одностраничное приложение

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

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

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

Каково общее решение этой проблемы?


person Chakradar Raju    schedule 13.08.2012    source источник


Ответы (1)


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

  1. Индексный файл доступа пользователей.
  2. Индексный файл проверяет страницу на стороне сервера, чтобы узнать, вошел ли пользователь в систему или нет.
  3. Страница отображает содержимое в зависимости от того, был ли ответ json со страницы на стороне сервера истинным или ложным.

Затем я сделал бы то же самое для входа в систему.

  1. Пользователь предоставляет данные для входа
  2. Проверяет файл на стороне сервера через ajax и json.
  3. Страница обновляется в случае успеха или выдает ответ об ошибке, если это не так.

Суть моего ответа в том, что при создании одностраничных приложений лучше всего использовать ajax. Однако, поскольку вы не указали, какой язык вы используете, я не могу дать вам более подробный ответ.

Одна страница на стороне клиента, обрабатывающая входы в систему и выбор контента, однако, является очень плохой практикой, и ее следует избегать вообще из-за отсутствия безопасности (я не могу не подчеркнуть этого достаточно), поскольку все элементы будут доступны даже анонимным доступ и манипулирование DOM позволят неавторизованному пользователю получить доступ к ограниченному контенту. Вам придется использовать ajax для авторизации на стороне сервера, как уже упоминалось, а также код на стороне сервера в SPA, который представляет различный контент в зависимости от вашего статуса авторизации.

Описываемый вами сценарий должен иметь код на стороне сервера для выбора контента для представления и код на стороне клиента вместе с ajax для реализации функций в SPA.

Однако вы МОЖЕТЕ сделать, например, при нажатии кнопки входа в систему - вызвать другой файл с помощью ajax, удалить содержимое div-оболочки и добавить ответ ajax к этому div. Тогда вы вообще избежите перенаправлений на стороне клиента.

person simme    schedule 13.08.2012
comment
две страницы, о которых я говорил, это логин и приложение, обе страницы HTML, а не проверка, это происходит в бэкэнде. Если логин и приложение находятся на разных HTML-страницах, я должен выполнить перенаправление на стороне клиента, что мне не понравилось. Я хотел решение, чтобы избежать этого. - person Chakradar Raju; 13.08.2012
comment
Ревизия ответила на ваш вопрос? Если да, отметьте вопрос как ответ. - person simme; 13.08.2012