【问题标题】:Multi tenant routing in angular 4角度 4 中的多租户路由
【发布时间】:2017-10-03 14:39:37
【问题描述】:

我正在运行一个 Angular 4 应用程序。我对应用程序中的路由有特定要求。

我有路由和路由参数,例如/create/claim/view/claim/:id 等。这些传统的路由方法可以正常工作。

我需要路由到页面名称之前给出param 的页面(例如:仪表板页面)。例如

http://.../dashboard <--- this is working & loads dashboard module.
http://.../:client-name/dashboard <-- I need to know how to load dashboard module, after getting client-name information from database.

如果有人遇到过这样的要求,请告诉我。如果需要更多信息,我会提供。

【问题讨论】:

    标签: angular angular4-router


    【解决方案1】:

    我认为您看到的答案是延迟加载和使用警卫。

    一个例子

     const APP_ROUTES: Routes = [
      {
        path: 'dashboard',
        loadChildren: 'app/dashboard/dashboard.module#DashboardModule',
    
     }, {
        path: 'dashboard',
        runGuardsAndResolvers: 'always',
        canActivate: [AuthGuard],
        loadChildren: 'app/home/home.module#HomeModule'
     }, {
       path: 'auth',
       loadChildren: 'app/auth/auth.module#AuthModule'
     }
    ];
    

    我们的后卫是这样的

     canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): 
      Observable<boolean> | Promise<boolean> | boolean {
        if (this.authservice.isAuthenticated()){
      return true;
     } else {
      this.router.navigate(['auth/signIn'], {});
    
      }
     }
    

    希望对你有帮助。

    【讨论】:

    • 嗨@Mauricio,感谢您的快速回复。我正在寻找实现多租户路由机制,其中 URL 应类似于 myapp.com/tenant-1/dashboardmyapp.com/tenant-2/dashboard。我已经在我的应用程序中使用了延迟加载和身份验证服务。请让我知道如何在 Angular 4 应用程序中实现多租户路由。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多