mouf/security.forgot-your-password

Mouf 安全的“忘记密码”功能。

1.0.x-dev 2018-01-08 18:55 UTC

This package is auto-updated.

Last update: 2024-09-15 05:08:00 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License Scrutinizer Code Quality Build Status Coverage Status

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