mouf / security.forgot-your-password
Mouf 安全的“忘记密码”功能。
Requires
- php: >=7.0
- mouf/mvc.splash-common: ^8.0
- mouf/security.forgot-your-password-interface: ~1.0
- mouf/utils.i18n.fine.common: ~4.0
- mouf/utils.i18n.fine.file-translator: ~4.0
- mouf/utils.i18n.fine.language-detection: ~4.0
- mouf/utils.mailer.swift-mail-service: ~1.0
- ramsey/uuid: ^3.4
- thecodingmachine/swift-twig-mail-template: ~5.0
Requires (Dev)
- phpunit/phpunit: ^5.4.6
- satooshi/php-coveralls: ~1.0
This package is auto-updated.
Last update: 2024-09-15 05:08:00 UTC
README
Mouf 的“忘记密码”功能
此包包含实现 Mouf 中“忘记密码”功能的控制器和服务。
安装
composer require mouf/security.forgot-your-password
使用
使用 Mouf 安装程序安装此包。
此包 提供
- 一个控制器 (
ForgotYourPasswordController
):此控制器提供了默认的forgot/password
路由,该路由指向“我忘记了我的密码”表单。它还提供了forgot/reset
路由,该路由在邮件中链接。此路由允许用户重置其密码。 - 一个服务 (
ForgotYourPasswordService
):此服务负责生成唯一的令牌和发送邮件。
此包 不包含 访问数据库以存储/检索令牌及其关联用户的方法。为此,您需要提供一个实现 ForgotYourPasswordDao
接口 的包。为此,您可能希望使用已实现它的现有包。如果您使用 TDBM,我们建议使用 mouf/security.daos.tdbm。
自定义
在此包中,视图基于 Bootstrap 框架 CSS。如果您的项目使用其他框架,您需要覆盖视图。
自定义“忘记密码”页面
主要的“忘记密码”表单使用 Mouf\Security\Password\ForgotYourPasswordView
渲染。Twig 模板位于 vendor/mouf/security.forgot-your-password/src/templates/Mouf/Security/Password/ForgotYourPasswordView.twig
。要覆盖,请将此文件复制到 src/templates/Mouf/Security/Password/ForgotYourPasswordView.twig
并清除您的缓存。
自定义“邮件已发送”页面
填写“忘记密码”页面后,用户将到达“邮件已发送”页面。
该页面使用 Mouf\Security\Password\EmailSentView
渲染。Twig 模板位于 vendor/mouf/security.forgot-your-password/src/templates/Mouf/Security/Password/EmailSentView.twig
。要覆盖,请将此文件复制到 src/templates/Mouf/Security/Password/EmailSentView.twig
并清除您的缓存。
自定义邮件
邮件来自 SwiftTwigMailTemplate
。
如果您想自定义此邮件,您可以
- 完全更改 Twig 模板(通过编辑容器中的 |forgotYourPasswordMailTemplate
实例并修改
twigPath`属性为您自己的文件) - 或者,您可以通过提供自己的主题和正文键来简单地覆盖 i18n 字符串
forgotyourpassword.mail.subject
是主题forgotyourpassword.mail.body
是文本的正文
自定义“令牌未找到”页面
如果用户点击一个已经使用过(或无效)的令牌的 URL 链接,将显示“令牌未找到”页面。
该页面使用 Mouf\Security\Password\TokenNotFoundView
渲染。Twig 模板位于 vendor/mouf/security.forgot-your-password/src/templates/Mouf/Security/Password/TokenNotFoundView.twig
。要覆盖,请将此文件复制到 src/templates/Mouf/Security/Password/TokenNotFoundView.twig
并清除您的缓存。
自定义“重置密码”页面
当用户点击邮件中的链接时,他将被重定向到“重置密码”页面。
页面使用 Mouf\Security\Password\ResetPasswordView
进行渲染。Twig 模板位于 vendor/mouf/security.forgot-your-password/src/templates/Mouf/Security/Password/ResetPasswordView.twig
。要覆盖,请将此文件复制到 src/templates/Mouf/Security/Password/ResetPasswordView.twig
并清除缓存。
自定义“密码重置”页面
这是工作流的最后一页,确认密码已成功重置。
页面使用 Mouf\Security\Password\ConfirmResetPasswordView
进行渲染。Twig 模板位于 vendor/mouf/security.forgot-your-password/src/templates/Mouf/Security/Password/ConfirmResetPasswordView.twig
。要覆盖,请将此文件复制到 src/templates/Mouf/Security/Password/ConfirmResetPasswordView.twig
并清除缓存。
自定义密码强度检查
默认情况下,您重置密码时,会被要求输入一个至少包含以下条件的密码:
- 至少7个字符长
- 包含至少一个大写字母
- 包含至少一个小写字母
- 包含至少一个数字
这可以在 Mouf\Security\Password\PasswordStrengthCheck
实例中完全配置。
此外,如果您对密码强度有非常具体的需求(例如:至少包含2个特殊字符,仅允许使用日文字符等),则可以简单地提供自己的服务,只要它实现了 Mouf\Security\Password\Api\PasswordStrengthCheck
。