#php #symfony
#php #symfony
Вопрос:
Я следовал этому руководству:
http://symfony.com/doc/current/book/security.html
использование пользовательского пользователя реализует класс UserInterface, однако я обнаружил, что, изменяя пароль в базе данных (скажем, пользователь изменил его еще на тех основаниях, которые, по их мнению, были скомпилированы), я обнаружил, что класс / Symfony просто обновляет логин. Пользователь выходит из системы, только если имя пользователя изменено. В любом случае, чтобы изменить это поведение?
Комментарии:
1. Одна вещь, о которой я должен упомянуть: при запуске debug (app_dev.php ) версия, которую я вижу внизу, изменится с «tim» на «tim ( не auth )», как только я внесу изменение в базу данных; так что ясно, что он это замечает.
Ответ №1:
Не понял вашего вопроса. если ваш вопрос заключается в том, насколько закрывается сеанс пользователя при изменении какого-либо значения? можете реализовать процедуру в своем действии userUpdate проверьте, есть ли изменения с вашим именем пользователя, и в соответствии с тем, что вам нужно, вы можете перезапустить сеанс или закрыть его, если это то, что вы хотите
Комментарии:
1. Как мне определить все открытые сеансы? Да, я могу получить сеанс пользователя, который вносит изменения, но я больше думаю, что если пароль скомпрометирован, а затем изменен (надеюсь, правильным) пользователем, я хочу, чтобы все остальные, вошедшие в систему под этой учетной записью, вышли из системы?
Ответ №2:
Используя сеанс на основе файлов cookie, это невозможно сделать, поскольку сеанс хранится на компьютере пользователя.
Вы должны переключиться на сеансы, основанные на базе данных. Таким образом, вы можете идентифицировать открытые сеансы и удалять их, чтобы лишить пользователей аутентификации.