当debug设置为0时,无法访问会话变量



我有一个奇怪的问题,我的应用程序运行正常,调试设置为1或2,但不是0。

我想将prod服务器设置为调试0 (core.php Configure::write('debug', 0);)。

我们已经编写了一个安全模块,使用LDAP对ActiveDirectory服务器进行身份验证。这很好,并将用户详细信息保存在会话变量$_SESSION['Security_Details']中。

private function restoreAuthenticationDetails(){
    if(isset($_SESSION['Security_Details'])){
        $security_details = json_decode($_SESSION['Security_Details']);
        $this->firstName = $security_details->firstName;
        $this->lastName = $security_details->lastName;
        $this->uNumber = $security_details->uNumber;
        $this->systems_management = $security_details->systems_management;
        $this->loggedin = 1;
    }else{
        $this->loggedOut();
    }
}

与调试1我看到$_SESSION['Security_Details']有这些内容:

"{"firstName":"Duane","lastName":"Walker","uNumber":"uXXXXXXX"}"

,但调试0,我得到的是NULL。

这似乎是一个安全特性,还是不打算这样做。

如何在调试0下访问会话变量?

在CakePHP中使用此方法创建或读取会话:

  $this->Session->write("my_session", "123"); //how to create a session
  $this->Session->read("my_session"); //will return 123 

相关内容

  • 没有找到相关文章

最新更新