Angular 防止用户使用路由保护返回某些路由
我想知道是否有办法防止用户返回某些路线 现在基本上我的问题是,用户将登录并通过Angular 防止用户使用路由保护返回某些路由,angular,Angular,我想知道是否有办法防止用户返回某些路线 现在基本上我的问题是,用户将登录并通过login/callback路径,该路径对用户进行身份验证并决定他们从那里去哪里,现在如果用户按下浏览器返回并返回到该路径,他们就会卡在那里 我有更多的例子,但这是最容易理解的 所以我基本上想在这些路由上设置一个routeGuard,如果用户按下返回到当前路由,它会说些什么 现在我知道我可以使用canActivate()设置如下内容 export class PreventBackGuard implements Ca
login/callback
路径,该路径对用户进行身份验证并决定他们从那里去哪里,现在如果用户按下浏览器返回并返回到该路径,他们就会卡在那里
我有更多的例子,但这是最容易理解的
所以我基本上想在这些路由上设置一个routeGuard,如果用户按下返回到当前路由,它会说些什么
现在我知道我可以使用canActivate()
设置如下内容
export class PreventBackGuard implements CanActivate {
constructor(public activatedRoute: ActivatedRoute, public router: Router)
canActivate(): boolean {
// do something here
console.log(this.activatedRoute);
}
}
因此,我知道我可以通过
activatedRoute
获取当前路线(我要去的路线),但我似乎无法获取我之前使用的路线,我不确定当用户通过“后退”按钮导航到该路线时,我如何知道。。有人有什么想法吗???为什么需要获取上一个根目录?如果您向根目录添加auth Gaard,并且它在canActivate方法中返回false,那么它不会让用户转到下一个根目录,所以用户将停留在同一页面上,所以在登录页面示例中,canActivate方法应该如下所示
canActivate(): boolean {
if(userLoggedIn){
return false;
}
return true
}
这样,如果用户已经登录,它将不允许他们访问登录页面并强制他们停留在同一页面上为什么需要获取上一个根用户?如果您将auth gaurd添加到根用户,并且在canActivate方法中返回false,那么它将不允许用户转到下一个根用户,所以用户将停留在同一页面上,以便在您的登录页面上示例:您的canActivate方法应该如下所示
canActivate(): boolean {
if(userLoggedIn){
return false;
}
return true
}
这样,若用户已经登录,它将不允许他们访问登录页面并强制他们停留在同一页面上