【问题标题】:Trying to share session between domain and sub domain cakephp (session keeps getting reset)尝试在域和子域 cakephp 之间共享会话(会话不断重置)
【发布时间】:2012-03-30 13:58:50
【问题描述】:

我有类似的问题,并且我已经尝试了到目前为止提到的所有选项,我想肯定还有一些我没有做对的事情,因为这对我不起作用。这是我所拥有的以及到目前为止我注意到的 - 我有一个网站说(example.com)和一个子域(user.example.com)。这个想法是用户应该能够从顶级域登录,而当他/她进入任何子域时不必再次登录。这是我的主机布局

www/app/控制器/

型号/

观看次数/

web_root/

sub_domain_root/控制器/

型号/

观看次数/

web_root/

lib/Cake/*

发生的情况是,当我登录顶级域并转到子域时,我似乎无法在子域中获取用户会话。当我从子域返回顶级域时,事情变得更加疯狂,我似乎失去了用户会话,因为即使是顶级域似乎也找不到它了。我怀疑这是因为这两个域使用相同的核心,并且当用户导航到另一个域(如子域)时,Cake/php 将其视为对该域的新请求。请帮忙,这个问题阻碍了我的日程安排。

【问题讨论】:

    标签: php session cakephp


    【解决方案1】:

    您的问题与session.cookie_domain 指令有关。您可能可以通过ini_set 指令设置它

    不幸的是,我现在没有时间检查您是否应该在其中包含 .example.com 或 example.com(Javascript 和 PHP 不同)

    【讨论】:

    • 是的,我试过了,事实上我把它放在了我的 Cake 应用程序中,在核心中,在引导程序中,不知何故我无法让它工作。我将 Security.level 设置为低。任何想法
    【解决方案2】:

    我遇到了同样的问题。尝试在core.php 中设置Configure::write('Security.level', 'low');。我记得需要深入研究安全级别的东西才能弄清楚。当它设置为high 时,安全码在我不知情的情况下不断重置我的会话。

    【讨论】:

    • 谢谢,虽然我不确定 Security.level 对这个问题有多大影响,但我发现两个应用程序中的 Security.salt 是不同的,并且将其设置为相同的值会使两者域现在共享相同的会话。我在从第二个域检索第一个域中的会话集时仍然遇到问题。我已经使用 Session->write('someValue'); 设置了值但是使用 Session->read('someValue'); 从第二个域获取它时遇到问题。有什么想法吗?
    猜你喜欢
    • 2016-12-27
    • 1970-01-01
    • 2021-12-26
    • 2023-03-09
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 2012-05-11
    相关资源
    最近更新 更多