在Angular 2/4/6应用程序中管理状态的最佳实践

问题描述 投票:4回答:1

我是角色的新手,但是已经为我分配了一个项目,所以我开始研究它,但是我面临着与状态管理相关的情况,因此在通过wcf进行身份验证之后,Restful服务会向用户提供令牌。所以我可以用这3种方法来解决这个问题。

  • 会话存储
  • 曲奇饼
  • 本地存储 上述方法的问题是 -
  • 如果我使用会话状态它对浏览器中的新选项卡无效,所以我无法检查令牌是否存在
  • 如果我使用本地存储,如果用户关闭浏览器并离开他/她的系统,之后其他人打开他的浏览器那么它将无法工作,那么这显然是一个安全威胁。
  • 如果我使用cookies它一直工作到现在直到我面临一个奇怪的问题我的子组件通过使用canActivateChild函数通过authguard进行身份验证。但是当我将URL(以及子组件路径)粘贴到新选项卡中时,两个选项卡中的两个页面都相同,当我从第二个选项卡单击“注销”按钮时,它不会删除cookie。

注意:每次单击注销按钮时都会调用函数,但它在第二个选项卡中不起作用,并且从第一个选项卡中可以正常工作。

angular angular-ui-router angular2-forms angular-directive
1个回答
1
投票

最好的方法是Ngrx,如果你在Angular,以前它是Redux。现在我们有Ngrx你也可以使用Ngrx设备工具作为chrome扩展来查看你的应用程序加载时的状态和动作..它真棒。

© www.soinside.com 2019 - 2024. All rights reserved.