具有每用户域的SaaS

时间:2013-06-18 07:20:00

标签: apache http cakephp dns subdomain

我喜欢启动Software As A Servive应用程序,它将为我的客户提供域名注册,以便允许通过他们自己的注册域访问应用程序。

应用程序将与CakePHP一起构建。通过访问某人CakePHP应用程序,CakePHP必须通过域识别客户端,从而调度客户端数据。

更具体地说,我的SaaS是为会计师设计的。我喜欢做的是允许会计师使用他们自己的域来访问该应用程序。

流程,可能会像这样。

  1. 访问者来自我的网站,网址是“www.top-accountants.com”
  2. 他/她希望注册
  3. 在注册表格中,我有一个字段“输入您的域名”
  4. 用户进入域名:“www.local-accountants.com”
  5. 他/她完成了注册
  6. 然后,当有人进入域名“www.local-accountants.com”进入我的网络服务器,并且服务器派遣会计师(我的客户)个人页面
  7. 另一个参数是允许我的客户使用子域注册,所以上面的例子可以像:

    local-accountants.top-accountants.com
    

    所以,我有几个问题:

    1. 将域名映射到用户帐户是否可行?
    2. 如果是这样,我该如何实现呢?
    3. 子域将以与域相同的方式工作吗?
    4. 上述方法的最佳方法是什么?
    5. 为了进行研究,我描述了上述技术的具体名称吗?
    6. 亲切的问候......

1 个答案:

答案 0 :(得分:1)

我会回答你的问题:

  1. 不是通过Cake的默认方式。
  2. 您始终可以使用PHP的环境变量访问当前(子)域,例如_SERVER["HTTP_HOST"],并在登录时使用它来选择用户名
  3. 在PHP方面,是的。请注意,对于注册顶级域名,您始终需要注册商(虽然您可以使用自己的DNS服务器或托管服务商管理子域名)
  4. 转到子域名,让UserController的{​​{1}}操作确定子域名的用户名。
  5. 不需要其他技术。如果您需要严格分离帐户,则无论如何都需要进行每个子域部署(然后您可以在虚拟主机配置中配置“用户名”)