如何在Angular 2(路由器3)中处理租户子域

时间:2016-09-10 22:03:49

标签: angular multi-tenant angular-routing

尝试在Angular 2(RC6,路由器3.0)中设置tenant.app.com

有没有关于如何做到这一点的文件?我见过的几乎所有内容都以base url = /开头,然后从基本URL解析url。

我需要为非签名用户提供www版本,然后为所有登录用户提供租户驱动的子域

1 个答案:

答案 0 :(得分:4)

我认为我的方法有效。 getSubdomain()允许我在NgInit()上的app.component.ts中查询子域,我可以使用它来根据与子域绑定的tenant_id来确定用户的登录范围

getSubdomain() {
  const domain = window.location.hostname;
  if (domain.indexOf('.') < 0 || 
    domain.split('.')[0] === 'example' || domain.split('.')[0] === 'lvh' || domain.split('.')[0] === 'www') {
    this.subdomain = '';
  } else {
    this.subdomain = domain.split('.')[0];
  }
  console.log('subdomain', this.subdomain);
}