[英]Angular Guard redirect to root
我創建了一個防護程序,以進行身份驗證,並使用canActivate
激活了該防護程序。 但是,當我轉到將要進行身份驗證的路由時,很快,我將重定向到根URL,然后將其轉到所需的URL。 我不希望用戶看不到預期的頁面,所以我的問題是,是否有辦法防止它轉到該根URL?
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
this.router.navigate(['/painel/login']);
return true;
}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
this.router.navigate(['/painel/login']);
return true;
}
您的衛隊實施不正確。 它必須
在第二種情況下,由於您還想顯示登錄頁面(而不僅僅是阻止受保護的路由被激活),因此您可以導航到登錄路由。
但是您的警衛總是告訴路由器允許用戶進入受保護的路由(因此,路由器允許導航),並且還告訴路由器導航至登錄頁面(因此,它會轉到登錄頁面) )。
所以你的守衛應該像
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
if (!this.isAuthenticated()) {
this.router.navigate(['/painel/login']);
return false;
}
return true;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.