这些是我使用 Symfony 的第一步。我尝试在 Symfony 4.4 中使用 Easyadmin Bundle 实现简单的用户管理。我按照 symfony.com 上的教程进行操作,其中大部分工作正常(注册表单、后端登录、后端安全性、数据库中用户的后端列表)。
我的问题是在 Easyadmin 后端创建和更新用户。当我尝试创建新用户时,我看到了正确的字段,我确实输入了一些数据,如果我单击“保存更改”,则会引发以下错误:
An exception occurred while executing 'INSERT INTO app_users (username, email, roles, password, is_active) VALUES (?, ?, ?, ?, ?)' with params ["testname", "test@example.com", "a:1:{i:0;s:9:\"ROLE_USER\";}", null, 1]: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'password' cannot be null
列“密码”不能为空很清楚:我需要为它提供一些编码的密码字符串。
我认为我输入的纯密码字段中的数据没有被我的用户实体中的 setPassword() 方法编码和/或处理。
据我了解一些 SO 答案和 Symfony 文档,它应该自动工作!?我不知道。我试图创建一个扩展 EasyAdminController 的 AdminController 并将其挂接到用户实体持久化的某个地方,但我无法让它工作。(像这样:https ://stackoverflow.com/a/54749433 )
如何处理/编码保存到数据库中密码字段的纯密码?
LEATH