Собственно сабж! Впервые за больше полугода использования Yii наткнулся на такую проблему. При этом сначала все работало, и ничего в проекте не менялось, что могло бы повлиять на это. К тому же, в других браузерах все хорошо. Подскажите, как это лечить? Чистил весь кэш и куки хрома - вышло. Залогинился снова - опять не работает.
такая проблема возникает когда используются общие куки на поддомены, yii не передает домен при уничтожени куков,
решение: расширить метод logout.
public function logout($destroySession = true)
{
if($this->allowAutoLogin && isset($this->identityCookie['domain'])) {
$cookies = Yii::app()->getRequest()->getCookies();
if(null !== ($cookie = $cookies[$this->getStateKeyPrefix()]))
{
$originalCookie = new CHttpCookie($cookie->name, $cookie->value);
$cookie->domain = $this->identityCookie['domain'];
$cookies->remove($this->getStateKeyPrefix());
$cookies->add($originalCookie->name, $originalCookie);
}
}
parent::logout($destroySession);
}
Разве это не является багом?
Чьим, если это не работает только в Chrome 7? Вообще надо Firebug’ом посмотреть какие куки куда и когда передаются, тогда можно понять проблему лучше и найти решение.
А в приложении действительно используются общие куки на поддомены?
Кстати, ф-ия выше не решает проблемы в Хроме 7. Я ее уже пробовал, но там писалось, что решает она проблемы с фаерфоксом.