Angulaire 2 les rôles et les autorisations

J'ai utilisé angular2 et laravel 5.3 dans mon projet. dans laravel lorsque l'utilisateur est connecté au serveur va envoyer les autorisations de l'utilisateur pour gérer l'autorisation angulaire. j'ai donc écrit un garde pour protéger les itinéraires des utilisateurs qui ne peuvent pas accéder.
voici ma garde code de classe:

export class AccessGuard implements CanActivate{

permissions;
currentRoute;
constructor(private authService:AuthService,private router:Router){
    this.permissions = this.authService.getPermissions();
}

canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot){
    return this.checkHavePermission(state.url);
}

canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot){
    return this.checkHavePermission(state.url);
}

private checkHavePermission(url){
    switch (true) {
        case url.match(/^\/panel\/users[\/.*]?/):
            return this.getPermission('user.view');
        case url.match(/^\/panel\/dashboard/):
            return true;
        case url.match(/^\/panel\/permissions/):
            return this.getPermission('permissions.manager');
        case url.match(/^\/panel\/candidates[\/.*]?/):
            return this.getPermission('candidate.view');
    }
}


getPermission(perm){
    for(var i=0;i<this.permissions.length;i++){
        if(this.permissions[i].name == perm ){
            return true;
        }
    }
    return false;
}

}

Maintenant que les itinéraires sont sécurisées je me demandais comment puis-je accéder à l'autorisation de l'utilisateur à l'intérieur de la classe du composant. Parce que parfois, l'utilisateur peut accéder à une route, mais il ne peut pas voir une partie spécifique des dom. comment puis-je gérer ce genre de situation?

OriginalL'auteur Hossein Ahmadi | 2016-09-28