在Angular5

时间:2018-06-01 18:12:58

标签: angular5

我在localStorage中有令牌,我想重定向每次尝试加载任何带有无效令牌的组件。我该怎么做? 可以使用onInit()函数,但是如何将其实现到每个组件?

1 个答案:

答案 0 :(得分:1)

使用警卫:

@Injectable()
export class AuthGuard implements CanActivate {

    canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
        if (valid token) {
          return true
        } else { // invalid token, force to redirect
          this.router.navigate(['/redirectUrl']); 
          return false;
        }
      }
}

和路由:

....
    { path: 'myRoute', component: MyComponent, canActivate: [AuthGuard]},
...