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

时间:2009-08-21 10:07:34

标签: cakephp authentication

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

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

1 个答案:

答案 0 :(得分:1)

这里有两个主要要求:

  1. 客户端cookie需要对所有应用程序有效

    检查客户端CakePHP设置的cookie(FireCookie对此有好处)。 Cookie的domain部分需要阅读.example.com(不是www.example.com)才能将其应用于子域。这可能适用于bootstrap.php

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

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

    • php:这将使用PHP定义的会话存储目录,对于所有应用程序应该是相同的。
    • database:如果所有应用程序都使用相同的数据库,则可以选择此选项。
    • cake:为此,您需要为每个应用程序定义一个公共/tmp目录。