【问题标题】:How do you use CakePHP Auth component across subdomains?如何跨子域使用 CakePHP Auth 组件?
【发布时间】:2010-08-19 22:29:30
【问题描述】:

(使用 CakePHP)我希望为用户创建、密码更改和信用卡信息设置一个子域...如:

secure.mydomain.com (https) - 用户/创建 - 用户登录 - 用户/更新信用卡信息

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

在我的两个子域上使用 CakePHP Auth 组件...当用户在“安全”上通过身份验证然后被重定向到“应用”子域时,我如何保存登录信息?

【问题讨论】:

    标签: cakephp cakephp-1.3


    【解决方案1】:

    见: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'));
    

    【讨论】:

      【解决方案2】:

      这是 cookie 的普遍问题。它们仅在它们设置的域及其子域中有效。 app.example.com 不是secure.example.com 的子域,因此不能在它们之间转换 cookie。

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

      【讨论】:

        猜你喜欢
        • 2016-12-27
        • 2010-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-31
        • 2019-09-13
        • 2011-01-01
        相关资源
        最近更新 更多