inem0o / user-password-lost-bundle
用于 Symfony3 的用户密码恢复包
1.0.5
2022-10-03 13:34 UTC
Requires
- php: >=7.2
- symfony/framework-bundle: ^5.0
- symfony/mailer: ^4.4|^5.0
This package is auto-updated.
Last update: 2024-08-30 01:23:20 UTC
README
注意:该包与 Symfony
3.0
及以上版本兼容。
1. 首先将此包下载到您的项目中。首选方式是使用 Composer 包管理器。
"require": { "inem0o/user-password-lost-bundle": "dev-master" }
2. 配置内核
// app/AppKernel.php public function registerBundles() { $bundles = array( // ... new inem0o\UserPasswordLostBundle\UserPasswordLostBundle(), // ... ); }
3. 配置包
# app/config/config.yml user_password_lost: user_repo_name: "AppBundle:User" user_email_column_name: "email" email_from: "contact@site.net" route_to_redirect_on_failure: "homepage" route_to_redirect_on_success: "login" display_success_flashbag: true forms: constraints: - {form_name: form_password_request, field: user_email, class: Symfony\Component\Validator\Constraints\NotBlank, params: {message: 'Email field cannot be blank'}}
4. 配置路由
# app/config/routing.yml user_password_lost: resource: "@UserPasswordLostBundle/Resources/config/routing.yml" prefix: /
4. 覆盖模板
Copy all templates from
./vendor/inem0o/user-password-lost-bundle/inem0o/UserPasswordLostBundle/Resources/views/*
into the folder
./app/Resources/UserPasswordLostBundle/views
5. 覆盖翻译
Copy all translation files from
./vendor/inem0o/user-password-lost-bundle/inem0o/UserPasswordLostBundle/Resources/translations/userPasswordLostBundle.*.xliff
into the folder
./app/Resources/translations/userPasswordLostBundle.*.xliff
事件
UserPasswordLostBundle 在密码重置成功时触发一个事件:inem0o.userpasswordlostbundle.successful_reset
。该事件包含请求新密码的用户,可以通过 $event->getUser()
获取器访问。您需要注册一个监听器来捕获它。
示例:(假设您将事件命名为 PasswordResetSuccessListener,回调方法为 onSuccessfulReset)
# src/Acme/AppBundle/Resources/config/services.yml acme.user.reset_password_success.listener: class: Acme\AppBundle\EventListener\PasswordResetSuccessListener tags: - { name: kernel.event_listener, event: inem0o.userpasswordlostbundle.successful_reset, method: onSuccessfulReset }