【问题标题】:How to show different dash boards for different users如何为不同的用户显示不同的仪表板
【发布时间】:2020-02-14 07:05:31
【问题描述】:

我正在使用 Angular 7。 如何向不同的用户显示不同的仪表板,例如站点管理员用户、组织管理员用户、普通用户、超级管理员用户。

我想为此使用 Role Guard,而不是子路由和动态路由。 请告诉我该怎么做。

【问题讨论】:

  • 所有仪表板都是独立的组件吗?如果是,则在用户登录时检查角色并路由相应的组件。
  • Check this example -- 您的请求范围太广,无法回答。
  • 只针对仪表盘页面还是针对不同登录的不同页面?
  • @Arcteezy 所有仪表板都是独立的组件。
  • @sibabratswain 仅用于仪表板页面

标签: angular


【解决方案1】:

如果您为所有用户创建不同的组件而不是首先检查哪个用户登录而不是设置与用户相关的 *ngIf。 并且,如果您没有在与哪个用户登录相关的 html 组件中创建与设置 *ngIf 不同的组件。

【讨论】:

    【解决方案2】:

    如果您有不同的组件用于不同的登录,那么您可以在登录后根据角色重定向它。否则保留一个 usetypeFlag 并根据用户类型更新它并使用*ngif 显示.

    您可以将 userTypeFlag 设置为 BehaviorSubject 并对其进行更新,使其更具动态性,并且可以从任何地方更改值并在您的 HTML 页面中动态反映。

    import {BehaviorSubject, Observable} from 'rxjs';
    private $roleType: BehaviorSubject<any>;
    
     setRole(role: any) {
     this.$roleType.next(role);
     }
    
     getRole(): Observable<any> {
        return this.$roleType.asObservable();
     }
    

    【讨论】:

      猜你喜欢
      • 2016-04-14
      • 2022-10-04
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 2019-10-14
      • 1970-01-01
      • 2020-07-08
      • 2016-11-02
      相关资源
      最近更新 更多