Modx [革命2.3.5]登录片段,用户登录后没有获得会话。

时间:2015-08-18 19:19:17

标签: php session cookies modx

我遇到一个奇怪的问题,一个新的modx网站 - 网站用户登录后没有得到会话。我确信他们正确认证,但modx似乎没有设置会话。我认为它与上下文访问有关。

我有3个上下文,网络,法语和&英语我有用户组和资源组,可以访问适当的上下文。

这是我的登录片段:

[[!Login? 
     &loginTpl=`LoginTpl`  
     &logoutTpl=`LogoutTpl`  
     &errTpl=`lgnErrTpl`  
     &loginResourceId=`91`
     &logoutResourceId=`5` 
     &contexts=`English,French`
     ]]

用户未被授予对Web资源的访问权限,因为它将用于内部文档。

现在,一切似乎都表现正常,如果您在登录表单中输入了错误的凭据,则会出现登录错误。如果输入正确的凭据,则转发到正确的资源[91]但是用户没有会话[[!+ modx.user.id]]为匿名用户返回0。 如果我查看我的浏览器cookie,我所拥有的只是默认的php会话cookie而没有modx会话cookie。奇怪的是,cookie路径是/ docs /,它是web上下文的base_url。如果我将cookie路径更改为/在modx中,那么所有页面都是空白的!

造成这个问题的原因是什么?

1 个答案:

答案 0 :(得分:0)

尝试在页面顶部添加此内容,

$sessid = session_id();
    if(empty($sessid)) {
        session_start();
        $sessid = session_id();
    }