基于用户角色的路由

Routes Based On User Roles

我的应用具有三种基于角色的用户类型。我想对所有这些用户使用相同的 url,允许共享地址。因此,将 /ticker 用于用户角色 client 和 /admin/ticker 用于用户角色 admin 不是一个选项。

但是,用户角色和模型的每个组合都有一个特定的组件。所以我想将路由 /ticker 绑定到 ClientTickerComponent 如果用户是客户端并且 AdminTickerComponet 是用户是管理员并且 SomethingTickerComponent 如果客户端是某物。

我能想到的唯一解决方案是在路由中使用 TickerComponent,然后根据授权创建特定的 [Rule]TickerComponent。

您可以向路由器动态添加路由

在你的app.component导入路由器

import { Router } from '@angular/router';

在构造函数中

private router: Router

在 ngOnInit 中为每个要添加的路由

let route = {};
if (role === 'Client') {
    route = {
        path: 'ticker',
        component: ClientTickerComponent
    };
}
if (role === 'Admin') {
    route = {
        path: 'ticker',
        component: AdminTickerComponent
    };
}

this.router.config.unshift(route);

此致