2017-10-06 91 views
0

我是新的角4我创建了一个应用程序使用角4我有一个登录页面和主页page.When我用我的凭据登录时,我将导航到主页。退出所有浏览器标签当一个标签注销

如果我的应用程序在多个选项卡中打开,当我从一个选项卡注销时,应用程序中的其他选项卡上的任何点击应该重定向到登录页面,因为它发生在gmail中。

任何人都可以帮助我这个。提前感谢。

+0

你能否提供一些代码示例,这样我们就可以知道你是怎么韩德尔您的授权,以及如何存储用户数据 –

+0

可以请你告诉我如何刷新或r如果用户从一个选项卡注销,则在应用程序内部发生单击事件时,将url或页面加载到其他选项卡中。这将解决我的问题。谢谢 –

回答

0

您可以发送一个请求到服务器无效的认证令牌(不涉及角)和所有标签需要在服务器上定期检查,如果他们的标志仍然是有效的,如果不注销自己。

0

解决方案:

请保持一个认证令牌,它会帮助你。这是不相关的角4

例子:

  1. 在数据库中创建一个令牌和存储,同时登录
  2. 检查标记为每个后端调用令牌是否可用与否
  3. 一旦令牌不可用重定向到登录页面
  4. 注销时从数据库中删除令牌
  5. 您打开了多个选项卡,从一个选项卡t,然后尝试从另一个选项卡中单击,它会检查该令牌,一旦令牌是不是在数据库中可用它会自动跳转到登录页面

这是你的问题的简单解决方案

0

在你存储令牌的情况下/在本地存储的登录信息,你可以听的变化 这样的:

window.addEventListener('storage', (event) => { 
    // there is a problem with IE (in all other browsers event not emitted in current window) 
    // so need to check that it is the other tab that emitted event 
    // and avoid infinite loop 
    if (!document.hasFocus() && event.key === environment.localStorageTokenKey) { 
    // do stuff here 
    window.location.pathname = '/'; 
    } 
}, false);