Лучшая практика для управления состоянием в приложении Angular 2/4/6 - PullRequest
0 голосов
/ 29 августа 2018

Я новичок в angular, но мне назначен проект, поэтому я начал над ним работать, но я столкнулся с ситуацией, связанной с управлением состоянием, поэтому после аутентификации через wcf Restful Service пользователю предоставляется токен. так что я могу справиться с этим с 3 подходами.

  • Сеанс-хранилище
  • Печенье
  • локальное хранилище

    Проблема с указанными выше подходами -

  • если я использую состояние сеанса , он не будет действителен для новой вкладки в браузере, поэтому я не могу проверить, существует ли токен

  • если я использую локальное хранилище , оно не будет работать, если пользователь закроет браузер и выйдет из своей системы, а затем кто-нибудь еще откроет свой браузер, тогда это будет очевидно безопасностью угроза.

  • если я использую куки , то до сих пор работала нормально, пока не столкнулась со странной проблемой, мой дочерний компонент проходил аутентификацию через authguard с использованием canActivateChild функция. но когда я вставил URL (вместе с путем дочернего компонента) в новую вкладку , тогда обе страницы были одинаковыми на обеих вкладках, и когда я нажал кнопку выхода из системы из вторая вкладка он не удалял куки.

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

1 Ответ

0 голосов
/ 30 августа 2018

Лучшим подходом будет Ngrx, если вы находитесь в Angular, ранее это был Redux. Теперь у нас есть Ngrx, также вы можете использовать инструменты устройства Ngrx в качестве расширения Chrome, чтобы увидеть состояние и действие, когда ваше приложение загрузится ... это потрясающе.

...