首先,如果第一个用户已经登录第一个选项卡,它将重定向到仪表板,当第一个用户在同一个浏览器中打开第二个选项卡(粘贴登录 URL)时,它会自动重定向到仪表板而不进入登录页面。我有条件在哪里登录页面有未经身份验证的用户可以访问的特定路线,
登录组件.ts
linkToMarket(): void {
this.sidenav.close().then(() => {
this.router.navigate([UrlConstants.Market]);
});
}
在市场页面(在第二个选项卡中),用户可以返回到登录页面,但不幸的是,当我实现此[如果用户登录时重定向到仪表板][1],它将通过仪表板重定向(因为第一个用户已经登录),如何确定第二个选项卡上是否有不同的用户,当从市场页面返回时,它不会重定向到仪表板而是登录页面,我是否可以在路由上设置条件或使用 Authguard(CanActivate) ?
detail.login 组件
ngOnInit(): void {
if (this.authenService.isUserAuthenticated()) {
this.router.navigate([UrlConstants.UserSetting])
}
}
市场组件.ts
linkToSignIn(): void {
this.router.navigate([UrlConstants.Login], { queryParams: { returnUrl: UrlConstants.Market } });
if (this.authenService.isUserAuthenticated()) {
this.router.navigate([UrlConstants.Login])
}
}
[1]: https://stackoverflow.com/questions/44121164/angular-2-redirect-if-user-is-logged-in