Как получить идентификатор сеанса в действии Symfony?

Я использую Symfony 1.4 и Doctrine 1.2. Мне нужно получить идентификатор сеанса внутри действия.

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

$this->getUser()->setAttribute('variable_name', $value);
$value = $this->getUser()->getAttribute('variable_name');

Но как мне получить идентификатор сеанса текущего пользователя?

1 ответ

Решение

Кажется, вы не можете получить доступ к sfStorage от объекта пользователя. sfSessionStorage сохраняет пользовательские данные в сеансе...

Таким образом, единственный способ, которым я сейчас вижу, - это называть session_id(),

Если вы хотите, чтобы это идеально, вы должны расширить sfSessionStorage добавление метода для получения идентификатора сеанса. Затем назначьте это хранилище пользователю, и вы сможете позвонить $this->getUser()->getStorage()->getSessionId();,

Другие вопросы по тегам