2012-03-30 21 views
1

我有类似的问题,我已经尝试了迄今为止提到的每个选项,我想还是有一些我不是做对了因为这对我来说并不合适。以下是我所拥有的以及我目前注意到的内容 - 我有一个网站(example.com)和一个子网域(user.example.com)。这个想法是一个用户应该能够从顶级域登录,并且当他/她去任何子域时不必再次登录。这里是我的主人布局试图分享域和子域cakephp之间的会话(会话不断得到重置)

WWW /应用/控制器/

型号/

查看/

WEB_ROOT/

sub_domain_root /控制器/

型号/

查看/

WEB_ROOT/

的lib /蛋糕/ *

会发生什么情况是这样的,当我登录的顶级域名,然后转到子域名,我似乎不能拿起用户会话子域。当我从子域返回顶级域名时,事情变得更加狂野,我似乎失去了用户会话,因为即使顶级域名似乎再也找不到了。我怀疑是因为这两个域使用相同的核心,当用户导航到另一个域(如子)时,Cake/php认为它是对域的新请求。请帮忙,这个问题让我回到我的日程安排上。

回答

0

您的问题与session.cookie_domain指令相关联。你也许可以将它通过ini_set指令

不幸的是,我没有时间,现在检查您是否应该有它.example.comexample.com(这是为Javascript & PHP不同)

+0

是的,我试过,事实上我把它放在我的Cake应用程序中,在Core中,在bootstrap中,不知何故,我无法让它工作。我将Security.level设置为低。任何想法 – sfagade 2012-03-31 18:58:34

0

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

+0

谢谢,尽管我不确定Security.level对这个问题有多大影响,但是我发现两个应用程序中的Security.salt都不相同,并将其设置为相同的值,这使得两个域现在可以共享同一届会议。如何从第二个域中检索第一个域中的会话设置仍然有问题。我使用Session-> write('someValue')设置了值;但有问题从第二个域使用Session-> read('someValue');.有任何想法吗? – sfagade 2012-03-31 18:45:40