Я пытаюсь справиться с аутентификацией с Ui-маршрутизатором и angularJS, я хотел бы достичь этого нормального сценария, в котором:Реализация аутентификации с AngularJS и Ui-маршрутизатором
- если (пользователь не аутентификация & & состояния требует проверки подлинности), то перейти в состояние «Войти»
- еще если (проверка подлинности пользователя & & состояние не требует аутентификации), то
перейти к «главному» состоянию - еще перейти в состояние, запрашиваемое пользователем.
Я внедрил его таким образом, что я не уверен, что это правильно, и мне нужна какая-то проверка от вас, ребята.
У меня есть функция разрешения, которая извлекает информацию о том, аутентифицирован ли пользователь с сервера, если он отклонен, а затем я отправляю пользователя в состояние входа в $ stateChangeError. если он разрешен, я обрабатываю другую логику в $ stateChangeSuccess.
Но поскольку я понимаю, что информация будет доступна только в $ stateChangeSuccess, а не в $ stateChangeStart, поэтому, если я реализую логику, написанную выше в $ stateChangeSucceess, тогда некоторые из страниц будут мерцать до завершения перехода.
Просьба сообщить. Есть ли другой способ или способ улучшить это решение? Я думал создать функцию разрешения для каждого состояния, проверить, аутентифицирован ли пользователь, и сделать там маршрутизацию.
Спасибо.
Спасибо. как я могу быть уверен, что служба MyAuthService хранит информацию о том, вошел ли пользователь в систему или нет, когда я выполняю указанную вами строку? var userAuthenticated = MyAuthService.isLogged(); ? в настоящее время я отправляю вызов api, чтобы проверить это. Есть ли другой путь? – sfdcdev
Как правило, я использую файлы cookie для этого. проверьте мой отредактированный ответ. Для большей ясности прочитайте эту замечательную статью https: // scotch.IO/учебники/на модули-и-ауты-оф-на основе маркеров аутентификации –