如何跨子域使用CakePHP Auth组件?

时间:2010-08-19 22:29:30

标签: cakephp cakephp-1.3

(使用CakePHP)我正在设置一个子域,用于创建用户,更改密码和信用卡信息......如下所示:

secure.mydomain.com(https) - 用户/创建 - 用户登录 - User / UpdateCreditCardInfo

app.mydomain.com(http) - 使用“安全”站点登录后,用户将能够访问特定于应用程序的视图

在我的两个子域上使用CakePHP Auth组件...当用户在“安全”上进行身份验证后,如何将登录信息保留,然后重定向到“app”子域?

2 个答案:

答案 0 :(得分:3)

请参阅:http://book.cakephp.org/view/173/Sessions

要提供自定义配置,请将Session.save Configuration设置为文件名。 CakePHP将使用CONFIGS目录中的文件进行设置。

Configure::write('Session.save','my_session');

这将允许您自定义会话处理。

// Cookie path is now '/' even if you app is within a sub 
// directory on the domain
$this->path = '/';
ini_set('session.cookie_path', $this->path);

// Session cookie now persists across all subdomains
ini_set('session.cookie_domain', env('HTTP_BASE'));

答案 1 :(得分:0)

这是cookie的一般问题。它们仅在其设置的域及其子域中有效。 app.example.com不是secure.example.com的子域名,因此您无法在它们之间转换Cookie。

可以example.com设置Cookie,并使其对所有子域有效,包括app.secure.。然后,您可以修改这些子域上的cookie。