2015-09-20 5 views
2

У меня возник вопрос о том, как я могу заставить повторный вход для всех пользователей при выполнении процесса, который перезагружает все роли пользователя.Как заставить повторный вход для всех пользователей при изменении ролей с помощью Symfony2 и FOSUserBundle?

Возможно ли это? Я использую FOSUserBundle как поставщик.

Спасибо!

ответ

2

Я никогда не использовал FosUserBundle но один простой способ сделать это в вашем User Class реализации EquatableInterface и вставки в isEqualTo метод что-то вроде:

# this comparison is ONLY indicative 

if ($this->roles !== $user->getRoles()) { 
    return false; 
} 

PS: При любых проверок запрос Symfony, что назначенные роли не являются изменилось (но вы можете добавить и другие поля, чтобы проверить, как электронная почта, имя пользователя и т. д.), в противном случае пользователь автоматически отключается (но без печати дружественного сообщения пользователю)

+0

Кажется, что работает. Я попробую еще немного, но, похоже, все в порядке! Спасибо! – David

+0

@ Давид Рад быть полезным. Дай мне знать. –