вообще ни разу с авторизацией не связана, хотя пароль там можно поменять. Эту проблему для 4ки обсуждают в интернетах, там вся проблема в том, что делается персист на пользователя, который не валиден, в результате получается, что форма разлогинивает человека. Но в 5ке все делается внутри handleRequest, я ручками persist не вызываю даже.
Это проблема подхода а не 4ки. Валидировать стоит запрос а не сущность (которую к тому же ещё и меняют зачем то).
1 - при обновлении сущности не требуется parsist, достаточно flush 2 - handleRequest никакого persist или flush не делает, просто валидация форнт-данные согласно типу полей или других указанных требованиях валидатора 3 - форма никак не валидирует отправленные данные с данными в бд - это твоя задача непосредственно перед тем как сохранить изменения вызвав flush, т.е. делается отдельный запрос, и в случае конфликта выводишь соответствующее сообщение 4 - разлогинивать может если применять сущность User наследованным от интерфейса UserInterface, в нем есть магия описанная в методе isEqualTo, в котором при изменении неких значений (мыла, пароля, и пр.) - система обязана разлогинивать такого пользоватаеля. То что разлогинивает пользователя пусть даже с ошибкой думаю все же связано с самим объектом, в котором произошли изменения и сессия тем самым гасится
😱 Вот те на! Спасибо, ушёл разбираться с этим.
Обсуждают сегодня