我的代码:
@Injectable()
export class UserRouteAccessService implements CanActivate {
authorized = [
'AGREEMENTS_VIEW',
'PROSPECTS_VIEW',
'AGREEMENTS_INSERT_UPDATE',
'PRODUCTS_INSERT_UPDATE',
'PROSPECTS_INSERT_UPDATE',
'DOCUMENTS_VIEW',
'DOCUMENTS_INSERT_UPDATE',
];
constructor(private router: Router, private securityService: CralSecurityService) {
}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
//boolean var
this.securityService.securityActions().subscribe(
data => {
//control if auth. is correct
//if yes set true
//if not set false
},
error => {
//return an error
}
)
//return boolean
}
}
评论是我喜欢做的,但我真的不知道我应该写什么,因为这是我第一次使用 angular 4。
基本上,如果已发送来自授权的某些参数,我想设置 True,如果服务中没有参数,则设置为 false。
我希望这很清楚,如果您需要更多信息,请告诉我:)
服务:
securityActions(): Observable<any> {
return this.http.post<Observable<any>>(
`${this.ENDPOINT}/security-actions`,
null,
);
}