我已经建立了一个 loginPageGuard,如果它已经登录,它根本不会让用户登录页面。
假设用户开启
http://localhost:4200/#/testUrl
并试图去
http://localhost:4200/#/login
LoginPageGuard 按我的意愿工作,并且用户保持打开状态
http://localhost:4200/#/testUrl
问题是当用户登录并打开一个新选项卡并在浏览器中输入以下 URL
http://localhost:4200/#/login
应用程序不让用户登录页面,而是转到
http://localhost:4200/#/
我想要的是带给用户
http://localhost:4200/#/someDesiredUrl
有没有办法做到这一点?谢谢
登录页面卫士
@Injectable()
export class LoginPageGuard implements CanActivate {
constructor(private router: Router, private authenticationService: AuthenticationService) {
}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {
return this.authenticationService.isAuthorized()
.map((user:EUser)=>{
return !user.isAuthorized;
})
}
}
app.routing.ts
{
path: 'login',
canActivate:[LoginPageGuard],
component: LoginComponent
}