bymayo/porter

为用户和账户提供大量辅助工具的工具包

安装: 610

依赖: 0

建议者: 0

安全: 0

星级: 1

关注者: 3

分支: 0

开放问题: 4

类型:craft-plugin

5.0.3 2024-07-23 15:18 UTC

This package is auto-updated.

Last update: 2024-09-23 15:39:05 UTC


README

Porter for Craft CMS 5

Porter 是一款 Craft CMS 插件,是所有用户功能的缺失工具箱。

功能

  • 删除账户
    • 允许用户在前端删除自己的账户
    • 可选地发送账户删除的电子邮件确认
    • 可定制的“关键字”,用户需要输入,例如 DELETE 或用户字段
  • 停用账户
    • 允许用户在前端停用自己的账户
    • 可选地发送账户停用的电子邮件确认
    • 停用的用户可以选择在 X 天后被删除
  • 魔法链接
    • 让用户通过发送到他们邮箱的链接登录
    • 允许通过链接在前端和/或控制面板登录
    • 设置过期时间以增加安全性
  • 阻止一次性电子邮件
    • 验证来自 22,000 多个一次性电子邮件
    • 检查域名是否有效且存在。
    • 检查电子邮件语法
    • 通过查询 DNS 记录检查 MX 记录的存在
  • 密码策略
    • 最小和最大密码长度
    • 小写(a-z)和大写规则(A-Z)
    • 数字字符规则(0-9)
    • 符号规则(@、#、$ 等)

安装

  • 通过 Composer 在项目目录中运行 composer require bymayo/porter 来安装
  • 在 Craft 控制面板的 设置 > 插件 中启用/安装插件
  • 自定义插件设置

您还可以通过在 Craft 管理控制面板的插件商店中搜索 Porter 来安装插件。

要求

  • Craft CMS 5.x
  • PHP 8.2
  • MySQL(不支持 PostgreSQL)

如何使用

删除账户

允许用户通过前端表单删除自己的账户。要启用此功能,请转到 设置 > Porter 并切换 删除账户 字段。还可以编辑设置,例如用户在账户被删除之前需要输入的确认关键字。

将表单添加到模板的最快方法是使用 deleteAccountForm 方法

{{ craft.porter.deleteAccountForm() }}

默认情况下,它将添加一组以 porter__ 为前缀的类,但您可以通过添加自定义参数来更改样式,例如如果您使用 Tailwind CSS

{{ craft.porter.deleteAccountForm(
    {
        buttonClass: 'bg-black text-white hover:bg-white hover:text-black',
        buttonText: 'Delete Account'
    }
) }}

如果您想要更多控制,可以从 bymayo/porter/src/templates/components/deleteAccountForm.twig 获取完整的模板。

使用此方法,您还可以使用 craft.porter.deleteAccountFormProperties() 获取默认模板属性,并从中获取特定属性

{% set formProperties = craft.porter.deleteAccountFormProperties() %}

{{ formProperties.buttonText }}

⚠️ 用户只能在用户或用户组上启用了“删除用户”权限设置的情况下才能删除自己的账户

⚠️ 管理员用户由于安全原因不能删除自己的账户

停用账户

允许用户通过前端表单停用自己的账户。要启用此功能,请转到 设置 > Porter 并切换 停用账户 字段。

将表单添加到模板的最快方法是使用 deactivateAccountForm 方法

{{ craft.porter.deactivateAccountForm() }}

默认情况下,它将添加一组以 porter__ 为前缀的类,但您可以通过添加自定义参数来更改样式,例如如果您使用 Tailwind CSS

{{ craft.porter.deactivateAccountForm(
    {
        buttonClass: 'bg-black text-white hover:bg-white hover:text-black',
        buttonText: 'Deactivate Account'
    }
) }}

如果您想要更多控制,可以从 bymayo/porter/src/templates/components/deactivateAccountForm.twig 获取完整的模板

使用此方法,您还可以通过使用 craft.porter.deactivateAccountFormProperties() 并从其中拉取特定属性来获取默认模板属性

{% set formProperties = craft.porter.deactivateAccountFormProperties() %}

{{ formProperties.buttonText }}

⚠️ 为了安全原因,管理员用户不能停用自己的账户

魔法链接

让用户通过一封发到他们邮箱的链接快速登录。要启用此功能,请转到 设置 > Porter 并切换 魔法链接 字段。

将表单添加到模板的最快方法是使用 magicLinkForm 方法

{{ craft.porter.magicLinkForm() }}

默认情况下,它将添加一组以 porter__ 为前缀的类,但您可以通过添加自定义参数来更改样式,例如如果您使用 Tailwind CSS

{{ craft.porter.magicLinkForm(
    {
        buttonClass: 'bg-black text-white hover:bg-white hover:text-black',
        buttonText: 'Send Magic Link'
    }
) }}

如果您想有更多控制权,您可以从 bymayo/porter/src/templates/components/magicLinkForm.twig 获取完整的模板

使用此方法,您还可以通过使用 craft.porter.magicLinkFormProperties() 并从其中拉取特定属性来获取默认模板属性

{% set formProperties = craft.porter.magicLinkFormProperties() %}

{{ formProperties.buttonText }}

⚠️ 为了安全原因,管理员用户不能使用魔法链接

阻止一次性电子邮件

阻止一次性邮箱和无效邮箱以减少垃圾邮件注册。要启用此功能,请转到 设置 > Porter 并切换 阻止烧毁器/一次性邮箱 字段。

您需要注册 https://verifier.meetchopra.com/ 来获取一个 免费 的API密钥。

支持

如果您有任何问题(当然不会有!),我会尽快回复。如果是破坏网站的大事,请联系Craft CMS Discord - @bymayo

路线图

  • 小工具,小工具,小工具!谁不喜欢小工具。
  • 为已删除用户提供内容迁移选项
  • 为停用的用户执行垃圾收集的控制台命令
  • 用户管理
  • 在注册时让用户选择成员组的一种更干净、更安全的方式
  • 更多的2FA功能(短信、认证应用等)