Не удается получить доступ к переменным сеанса, когда для отладки установлено значение 0

У меня странная проблема, когда мое приложение работает нормально с отладкой, установленной на 1 или 2, но не на 0.

Я хочу настроить рабочий сервер на отладку 0 (core.php Configure::write('debug', 0);).

Мы написали модуль безопасности, который выполняет аутентификацию на наших серверах ActiveDirectory с использованием LDAP. Это работает нормально и сохраняет данные пользователя в переменной сеанса $_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?


person DuaneW    schedule 03.07.2014    source источник
comment
Я вижу, что есть SessionComponent, который я должен использовать вместо этого.   -  person DuaneW    schedule 03.07.2014
comment
Либо так, либо CakeSession, если вы не в контроллере.   -  person ndm    schedule 03.07.2014


Ответы (1)


Используйте этот метод для создания или чтения сессий в CakePHP:

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