我正在尝试在Symfony 2.1项目中实现安全功能,其中管理员可以使用初始密码创建用户,然后在用户第一次登录时自动触发更改密码处理程序.
我遇到了覆盖FOSUserBundle类的问题,我认为这肯定已经以某种方式建立,至少在某种程度上,尽管我无法在任何地方的文档中看到它.
我想在实体中使用credentials_expired标志.管理员创建用户时,将设置为1.当用户首次登录时,将检查credentials_expired,而不是抛出异常,将触发change-password.我做到了这么远.
然后ChangePasswordController将确保密码实际更改(这似乎不是FOS中的默认行为)并且credentials_expired设置为0.这就是我被困住的地方.有这么多层次的服务我似乎无法正确定制.