我有主站点example.com,用户可以在其中注册和登录,或者只使用openid登录。 登录用户可以使用mysite.example.com等子域创建自己的网站。 每个用户都可以拥有多个站点。 每个站点都是cakephp应用程序。 每个蛋糕应用程序都有自己的ACL。
如何部署授权以便用户登录主站点,也会登录到自己的站点。
答案 0 :(得分:1)
这里有两个主要要求:
客户端cookie需要对所有应用程序有效
检查客户端CakePHP设置的cookie(FireCookie对此有好处)。 Cookie的domain
部分需要阅读.example.com
(不是www.example.com
)才能将其应用于子域。这可能适用于bootstrap.php
:
ini_set('session.cookie_domain', '.example.com');
所有应用程序都需要访问服务器端会话存储
在每个应用程序的core.php
中,设置一个公共会话存储。选项包括:
php
:这将使用PHP定义的会话存储目录,对于所有应用程序应该是相同的。database
:如果所有应用程序都使用相同的数据库,则可以选择此选项。cake
:为此,您需要为每个应用程序定义一个公共/tmp
目录。