Проблема с Cookie и states

Иногда не восстанавливается состояние, установленное в UserIdentity при использовании enableCookieValidation.




<?php

class UserIdentity extends CUserIdentity {

    public function authenticate(){

        // … аутентификация через модель User


        // устанавливаем состояние

        Yii::app()->user->setState('role', $user->role);


        // … возвращаем код ошибки

    }

    // …

}



После этого в контроллере я вывожу состояние и данные сессии (только уже аутентифицированным, чтобы не было проблем с заголовками):




CVarDumper::dump(Yii::app()->user->getState('role'), 10, true);

CVarDumper::dump($_SESSION, 10, true);



Сразу после аутентификации получаю:




'admin' array

(

    [a50e1d18405b8133824c7f770e7bc5dcrole] => 'admin'

    [a50e1d18405b8133824c7f770e7bc5dcuseHttps] => false

    [a50e1d18405b8133824c7f770e7bc5dc__id] => 19

    [a50e1d18405b8133824c7f770e7bc5dc__name] => 'Alexander'

    [a50e1d18405b8133824c7f770e7bc5dc__states] => array()

) 



Большую часть времени я получаю ту же самую информацию, но иногда (возможно, по прошествии 1-2-х дней), получаю:




null array

(

    [a50e1d18405b8133824c7f770e7bc5dc__id] => 19

    [a50e1d18405b8133824c7f770e7bc5dc__name] => 'Alexander'

    [a50e1d18405b8133824c7f770e7bc5dc__states] => array()

) 



Таким образом, данных о состоянии нет. При этом пользователь аутентифицирован.

Проверил на двух серверах и разных браузерах — проблема есть.