2
Когда я переключаюсь как администратор на пользователя site.loc/[email protected]
Я не получаю роль ROLE_PREVIOUS_ADMIN
. Я не уверен, какой код я должен показать вам ..Пользовательский переключатель Symfony2 отсутствует ROLE_PREVIOUS_ADMIN после переключения
Symfony Версия: 2.2.2 Symfony2
User.php
/**
* @see \Serializable::serialize()
*/
public function serialize()
{
return serialize(array(
$this->email
));
}
/**
* @see \Serializable::unserialize()
*/
public function unserialize($serialized)
{
list (
$this->email
) = unserialize($serialized);
}
public function isAccountNonExpired()
{
return true;
}
public function isAccountNonLocked()
{
return true;
}
public function isCredentialsNonExpired()
{
return true;
}
public function isEnabled()
{
return $this->isActive;
}
/**
* @inheritDoc
*/
public function eraseCredentials()
{
}
public function isEqualTo(UserInterface $user)
{
return
md5($user->getUsername()) == md5($this->getUsername()) &&
md5(serialize($user->getGroups())) == md5(serialize($this->getGroups()));
}
Правильно ли вы выполняете другие роли при переключении? Вы используете пользовательский прослушиватель безопасности? – JonnyS
Другие роли правильно, у меня нет прослушивателей безопасности. У меня есть 'AuthenticationHandler' на' success', который устанавливает время входа пользователя. –
Единственное, что я вижу, это другое, это ваша функция сериализации и несериализации. Мой класс сериализует $ id, а не $ email. – JonnyS