我'm building an Angular 4 web application that have some restricted pages according to user permissions. I' m使用 canActivate
路由器属性阻止用户访问 . 如果用户没有访问该页面的权限,则会将其重定向到我开发的404错误页面 .
路线示例:
const routes: Routes = [
{
path: '', component: PageComponent,
children: [
{ path: 'indicadores', loadChildren: './indicadores/indicadores.module#IndicadoresModule', canActivate: [PermissoesService] }]}];
CanActivate方法:
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | boolean {
let path = state.url.split('\/')[1];
if (!this.auth.isLoggedIn()) {
return false;
}
else{
if(this.getRoutePermission(path)) return true;
else {
this.route.navigate(['/404']);
}
}
}
该应用程序存储在IIS服务器上 . 当我使用 ng serve
在本地机器上开发和测试时,该应用程序正常工作 . 但是当我将应用程序部署到服务器时,我尝试访问用户没有权限的路由器,应用程序重定向到IIS 404页面而不是我的404页面 .
服务器或代码中是否有其他配置?