You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase是否支持落地页+管理后台+多客户子站点架构?

Firebase适配多子域名多模块架构的可行性分析

Firebase完全能适配你构想的架构,以下针对你的需求逐一说明:

1. 自定义域名及SSL支持

Firebase Hosting支持配置自定义域名与通配符子域名,且会自动提供并管理SSL证书(包括通配符证书),无需手动申请部署,所有子域名都能实现HTTPS访问。

2. 单一代码库多模块部署

可以通过单一代码库整合落地页、管理后台、客户站点三个模块,借助Firebase Hosting的rewrites规则,根据访问的子域名路由到对应模块:

  • 针对www.domain.tld,路由到静态落地页文件目录
  • 针对admin.domain.tld,路由到管理后台的入口文件
  • 针对customer*.domain.tld,路由到客户站点的入口文件
    代码内部可通过解析当前域名(如window.location.hostname)判断加载对应模块的路由、组件逻辑,无需拆分多个代码库。

3. ACL权限控制

结合Firebase Auth与Firebase Firestore(或Realtime Database)的安全规则,可实现精细的权限控制:

  • 在用户的Auth自定义声明中添加角色(admin/customer/user),以及客户ID(针对客户和下属用户)
  • Firestore安全规则中校验用户角色与所属关系:
    • 普通用户仅能访问自身ID关联的数据
    • 客户用户可访问自身ID及下属用户ID关联的数据
    • 管理员用户直接放行所有数据访问请求
      示例安全规则(Firestore):
match /databases/{database}/documents {
  match /users/{userId} {
    allow read, write: if request.auth != null && (
      request.auth.uid == userId ||
      request.auth.token.role == 'customer' && request.auth.token.customerId == resource.data.customerId ||
      request.auth.token.role == 'admin'
    );
  }
}

4. 跨子域名无缝认证

Firebase Auth支持跨子域名共享登录状态,只需两步配置:

  1. 将所有子域名(www.domain.tld、admin.domain.tld、*.domain.tld)添加到Firebase项目的授权域名列表中
  2. 启用Firebase Auth的会话cookie模式(或使用localStorage配合跨域策略),实现登录状态在所有子域名下自动识别,用户无需重复登录

内容的提问来源于stack exchange,提问作者spaxxUnited

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 05:10:30