【发布时间】:2017-10-18 14:44:44
【问题描述】:
据我了解,Angular2 中的CanActivate 接口仅对路由更改有效。因此,如果我有一个页面 p 需要用户登录,我可以创建一个实现 CanActivate 接口的守卫,这将允许 RouterModule 仅激活 p如果用户已登录。
但是当 p 处于活动状态并且用户退出时会发生什么?我试图找到最佳实践来检查是否允许页面处于活动状态而不更改 RouterModule 中的路由,但我找不到任何有用的东西。假设页面 p 处于活动状态并且需要登录。现在,当 p 处于活动状态但不涉及路由更改时,会以某种方式触发注销。假设服务器以 401 响应,并且应用程序注意到用户不再登录。检查活动页面是否需要登录并采取相应措施的最佳做法是什么?可能是活动页面不需要登录。在这种情况下,一切都应该保持原样。
【问题讨论】:
-
我今天也遇到了同样的问题。我在这里找到了更适合我需求的解决方案:stackoverflow.com/questions/45680250/…