FOSUserBundle:管理员应该必须激活用户


FOSUserBundle: Admin should have to activate User

我想更改 FOSUserbundle 的代码以具有以下过程:

  1. 用户注册
  2. 用户通过电子邮件激活帐户(管理员收到电子邮件)
  3. 管理员激活用户

我做了什么?

  • 使用 FOSUserBundle 安装 Symfony2
  • 激活的电子邮件确认
我知道有可能将

实体更改为通过"isEnabled()"或"isLocked()"返回"false"。但我还需要正确的错误消息,所以如果用户被锁定 - 应该有"您的帐户被锁定,请联系管理员!"如果帐户未被管理员激活,则应该有消息"您的帐户需要由管理员审查和激活"。

在哪里"挂钩" - 让这个工作?

使用事件订户。在服务定义中定义它并实现事件订阅者接口。我知道这方面的文档很薄,但如果你搜索 FosUser 事件订阅者,你会发现很多帮助。

如果您只想更改消息,请检查此消息自定义身份验证 - 登录 Symfony2 消息