【问题标题】:FOSUserBundle: Admin should have to activate UserFOSUserBundle:管理员应该必须激活用户
【发布时间】:2015-05-17 19:25:52
【问题描述】:

我想将 FOSUserbundle 的 Code 改成如下流程:

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

我做了什么?

  • 使用 FOSUserBundle 安装 Symfony2
  • 激活的电子邮件确认

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

在哪里“挂钩” - 让它工作?

【问题讨论】:

    标签: php symfony fosuserbundle


    【解决方案1】:

    使用事件订阅者。在服务定义中定义它并实现EventSubscriberInterface。我知道文档对此很薄弱,但如果您搜索 FosUser 事件订阅者,您会发现很多帮助。

    如果您只想更改消息,请检查此 Customize Authentication - Login Symfony2 Messages

    【讨论】:

    • 我只能找到“SECURITY_IMPLICIT_LOGIN”作为潜在有用的事件 - 但我认为身份验证/登录已经完成?或者我可以让它在这一点上失败吗?找不到任何东西 - 也与 Google ...
    猜你喜欢
    • 1970-01-01
    • 2014-03-12
    • 2015-11-01
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多