如何在多个cakephp应用程序之间部署授权?

如何在多个cakephp应用程序之间部署授权?,cakephp,authentication,Cakephp,Authentication,我有一个主站点example.com,用户可以在这里注册和登录,或者只使用openid登录。 登录的用户可以创建自己的站点,其中包含mysite.example.com等子域。 每个用户可以有多个站点。 每个网站都是cakephp应用程序。 每个蛋糕应用程序都有自己的ACL 如何部署授权,以便登录到主站点的用户也可以登录到自己的站点。这里有两个主要要求: 客户端cookie必须对所有应用程序有效 在客户端检查CakePHP设置的cookie(这很好)。cookie的域部分需要读取.example

我有一个主站点example.com,用户可以在这里注册和登录,或者只使用openid登录。 登录的用户可以创建自己的站点,其中包含mysite.example.com等子域。 每个用户可以有多个站点。 每个网站都是cakephp应用程序。 每个蛋糕应用程序都有自己的ACL


如何部署授权,以便登录到主站点的用户也可以登录到自己的站点。

这里有两个主要要求:

  • 客户端cookie必须对所有应用程序有效

    在客户端检查CakePHP设置的cookie(这很好)。cookie的
    部分需要读取
    .example.com
    (而不是
    www.example.com
    )才能应用于子域。这可能适用于
    bootstrap.php

    ini_set('session.cookie_domain', '.example.com');
    
  • 所有应用程序都需要访问服务器端会话存储

    core.php
    中,为每个应用程序设置一个公共会话存储。选项包括:

    • php
      :这将使用php定义的会话存储目录,该目录对于所有应用程序都应相同
    • 数据库
      :如果所有应用程序使用相同的数据库,这可能是一个选项
    • cake
      :要使其起作用,您需要为每个应用程序定义一个通用的
      /tmp
      目录

  • 这里有两个主要要求:

  • 客户端cookie必须对所有应用程序有效

    在客户端检查CakePHP设置的cookie(这很好)。cookie的
    部分需要读取
    .example.com
    (而不是
    www.example.com
    )才能应用于子域。这可能适用于
    bootstrap.php

    ini_set('session.cookie_domain', '.example.com');
    
  • 所有应用程序都需要访问服务器端会话存储

    core.php
    中,为每个应用程序设置一个公共会话存储。选项包括:

    • php
      :这将使用php定义的会话存储目录,该目录对于所有应用程序都应相同
    • 数据库
      :如果所有应用程序使用相同的数据库,这可能是一个选项
    • cake
      :要使其起作用,您需要为每个应用程序定义一个通用的
      /tmp
      目录

  • 这是我的想法。ini_set('session.cookie_domain','.example.com')-为此,我认为您只需要配置::write('Security.level','low');。至于一个2。(服务器端),为所有应用程序启用公共会话存储意味着您必须在应用程序级别控制对应用程序的访问,这可能会干扰您的ACL。我发现最好的方法是按照每个应用程序的术语将会话存储在数据库中,并通过整个系统将其分发给属于给定用户的其他应用程序。我们可以为1.3和2.x使用公共会话吗?应该是可能的
    Config/Schema/sessions.php
    在这两个版本中看起来都一样。问题是我对这两个版本都有不同的cake版本。即1.3和2.x这是我的想法。ini_set('session.cookie_domain','.example.com')-为此,我认为您只需要配置::write('Security.level','low');。至于一个2。(服务器端),为所有应用程序启用公共会话存储意味着您必须在应用程序级别控制对应用程序的访问,这可能会干扰您的ACL。我发现最好的方法是按照每个应用程序的术语将会话存储在数据库中,并通过整个系统将其分发给属于给定用户的其他应用程序。我们可以为1.3和2.x使用公共会话吗?应该是可能的
    Config/Schema/sessions.php
    在这两个版本中看起来都一样。问题是我对这两个版本都有不同的cake版本。即1.3和2.x