В Cakephp, что такое Session-> valid ()? - PullRequest
1 голос
/ 21 июля 2009

Я знаю, что этот метод отвечает на вопрос "Является ли текущий сеанс действительным?", Но я не понимаю, почему он будет недействительным Я прочитал источник для этого метода, но я все еще не понимаю. Из того, что я могу собрать, это связано с тем, истек ли срок действия данных сеанса, но я не уверен.

Это может относиться к более старой версии Cake, потому что я не вижу ее в последних документах, но в той версии, которую я использую.

Ответы [ 2 ]

3 голосов
/ 21 июля 2009

Это будет недействительно, если вы уничтожите его. Например, вы хотите очистить все данные сеанса для вошедшего в систему пользователя после его выхода. Клиент может попытаться использовать идентификатор сеанса, который он имеет в своем файле cookie в памяти, при следующем сообщении на сервер, но сервер уже уничтожил этот сеанс.

if ($this -> Session -> valid())
{
    $this -> Session -> destroy();
    $this -> redirect('/');
}

Еще один случай - тайм-аут сеанса на сервере и / или клиент попытался выполнить синхронизацию с сервером, используя неверный / ложный идентификатор сеанса.

0 голосов
/ 21 июля 2009

Может быть недействительным, если между запросами был изменен идентификатор пользователя (если включена проверка) или истек срок сеанса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...