contaobayern / contao-ertl-bundle
Contao CMS 的电子邮件注册 + 令牌登录
dev-main / 1.0.x-dev
2023-03-17 10:13 UTC
Requires
- php: ^7.4 || ^8.0
- contao/core-bundle: ^4.9
- ramsey/uuid: ^3.8
- terminal42/notification_center: ^1.5
This package is auto-updated.
Last update: 2024-09-17 13:06:49 UTC
README
电子邮件注册 + 令牌登录
安装包后的要求
在 config/parameters.yml 中添加参数
在 config/parameters.yml
文件中添加该包所需的参数
parameters:
# Parameter aus der Contao Installation
database_host: ...
database_port: ...
database_user: ...
database_password: ...
database_name: ...
secret: ...
# Parameter für das Bundle (Beispiele)
ertl_assign_groups.example.com: [1,2,3]
ertl_assign_groups.example.org: [1,4]
# Optionale Parameter:
# Gültigkeitsdauer eines Tokens (im Bsp.: 14 Tage; Default wäre 7 Tage).
ertl_token_lifetime: 1209600
# E-Mails-Adressen bestimmter Domains nicht akzeptieren
# (es erscheint eine entsprechenden Fehlermeldung im Registrierungsformular)
ertl_rejected_domains:
- t-online.de
- web.de
- gmail.com
创建错误页面
当使用无效令牌尝试登录失败时,根据情况将用户重定向到相应的错误页面。应在页面树中存在 401
"未认证",403
"访问被拒绝" 和 404
"未找到" 页面。
表单
表单必须至少有一个名为 "E-Mail-Adresse" 的输入字段!
其他字段将在创建要登录的成员时被继承,前提是它们的名称与成员表 tl_member
中的列名相对应。例如:(firstname
, lastname
)
为了识别表单,必须创建一个具有 ertl_login
名称和 9uetwrg7K83z7
值的隐藏表单字段。
令牌登录的重定向页面通过登录链接控制
https://example.com/_login/<token>/<id der Seite zu der weitergeleitet werden soll>
要重定向的页面的 <id>
通过一个名为 redirecttopagewithid
的隐藏表单字段确定。相应的值是所需页面的 ID。如果此字段不存在,则将重定向到主页。提示:如果需要将用户重定向到表单所在的页面,则可以使用插入标签 {{page::id}}
。
通知
为了用户能够收到登录链接,必须在通知中心创建一个类型为 "ER+TL 注册" 的通知。在这里,可以通过简单的令牌访问表单数据(特别是 ##form_email##
用于电子邮件的接收者)。登录链接通过简单的令牌 ##loginlink##
提供。
电子邮件文本的示例
Hallo ##form_firstname## ##form_lastname##
Dein Loginlink für ##domain## lautet
##loginlink##
特性
- 删除成员时,将删除相关的
tl_member_login_token
记录 - 如果成员在后台被禁用,则阻止登录(如果使用相关的登录链接,则用户将收到
403
错误)
待办事项
计划任务
- 通过即将创建的
contao-console
命令 "清除"tl_member
和tl_member_token