我们可以为单个Angular 2应用程序访问两个URL吗?

时间:2018-03-13 10:03:21

标签: angular

我是棱角分明的世界的新手。我需要创建具有两个基本URL的应用程序。我正在分发DB,它根据学术上是水平分段的。

情景就是这样,

  1. 在一项功能中,管理员或任何其他用户都可以登录并导航到应用程序菜单并继续进一步申请。
  2. 在另一项功能中,只允许管理员访问此登录页面,它将导航到管理机构页面。并且还将仅与管理机构页面一起使用。
  3. 那么我如何在一个具有两个单独登录的应用程序中实现这两个功能?或者我需要为两个功能创建两个单独的应用程序?

1 个答案:

答案 0 :(得分:0)

您真的不想创建2个应用程序来解决此问题。只需创建用户帐户,其中一些用户是管理员,而其他用户则不是。

然后在Angular中,您使用路由保护来保护您只希望管理员用户看到的功能/页面/路由。其他用户将无法访问“管理员”路线。

您可以阅读有关herehere的全部内容。

例如,您可以使用这样的警卫声明路线:

export const ROUTES: Routes = [
  { path: '/admin', 
    component: AdminComponent,
    canActivate: [AuthGuard] 
  },
  { 
    path: 'profile',
    component: ProfileComponent,
  },
  { path: '**', redirectTo: '' }
];

您可以看到路由/admin有一个保护,它将检查用户是否为admin类型并返回true / false。如果为false,则用户无法访问该路由,因此将不会呈现AdminComponent。

/profile路由没有后卫,因此所有用户都可以访问他们的个人资料路径/页面。