angular - 基于用户角色的路由
问题描述
我的应用程序根据角色具有三种用户类型。我想为所有这些用户使用相同的 url,允许共享地址。因此,使用 /ticker 用户角色客户端和 /admin/ticker 用户角色 admin 不是一个选项。
然而,用户角色和模型的每个组合都有一个特定的组件。因此,如果用户是客户端并且 AdminTickerComponet 是用户是管理员,我想将路由 /ticker 绑定到 ClientTickerComponent,如果客户端是某物,则我想绑定到 SomeTickerComponent。
我能想到的唯一解决方案是在路由中使用 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);
问候
推荐阅读
- google-bigquery - 我可以使用大查询导出数据语句并安排查询吗?
- c++ - 如何正确使用 LocalAlloc 和 LocalReAlloc
- reactjs - 基于角色的同一 React 路由中的不同组件
- javascript - 如何将数据从express传递到ejs
- c++ - Qt 5.14.2 在构建时不归档 .so 文件
- javascript - 处理对象内的多个输入值更改
- mysql - 如果存在则只显示子表数据,否则只显示父表数据
- python - tweepy 没有给我最后一条推文
- angular - 无法使用 Angular 切换到另一个页面
- wordpress - 我想在 wordpress 的 Slider 下添加号召性用语按钮