jordanmkoncz/silverstripe-memberemailverification

为成员添加电子邮件验证功能

1.0.4 2017-01-18 07:03 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:47:29 UTC


README

此模块修改了注册/登录过程,以便成员在登录之前必须验证其电子邮件地址。

功能

  • 无需配置即可直接使用
  • 支持国际化
  • 与自定义注册表单和其他第三方模块(例如 silverstripe/forum)协同工作
  • 所有模板和字符串都易于覆盖

关于

此模块向 Member DataObject 添加了以下属性

  • 已验证
  • 验证字符串
  • 验证电子邮件发送

在创建新成员时,将为成员分配一个唯一的 VerificationString 并发送包含验证链接的电子邮件。用户必须访问验证电子邮件中发送的验证链接,才能登录。在访问验证链接后,Validated 将为 Member 记录设置为 true,用户将被允许登录到网站。

如果用户丢失或删除了他们的验证电子邮件,他们可以通过添加到登录表单的表单操作来重新发送。

要求

  • SilverStripe 3.1 或更高版本

安装

composer require "jordanmkoncz/silverstripe-memberemailverification"

自定义

所有文本字符串都可以覆盖。要覆盖英文文本字符串,创建或修改您的 mysite/lang/en.yml 文件,并覆盖此模块的 lang/en.yml 文件中的值。要覆盖其他语言的字符串,请在您的 mysite/lang 文件夹中添加其他语言。

验证电子邮件的模板也可以覆盖。只需在您主题的 templates/email 文件夹(注意小写“e”)中创建一个名为 VerificationEmail.ss 的文件。在此模板中,您可以访问 Member 对象、SiteConfig 对象,当然还有用户必须访问以验证其电子邮件的 ValidationLink

如果需要,也可以覆盖 Security 扩展中所有控制器动作的模板。每个控制器动作都有一个它将使用的模板名称,如果存在,则回退到使用 Security 模板。例如,要覆盖 Security verify_email 动作的模板,只需在您的主题的 templates/Layout 文件夹中创建一个名为 Security_verify_email.ss 的文件。

示例项目

您可以在 jordanmkoncz/silverstripe-memberemailverification-example 中查看使用此模块的示例项目。

鸣谢

此模块受到了 exadium/silverstripe-module-email-verified-member 模块的启发。它被创建来提供相同的成员电子邮件验证功能,但没有不必要的成员审核功能,并且有更干净、更易于理解的代码,更容易定制。