johannschopplich / kirby-locked-pages
为 Kirby CMS 页面设置密码保护
2.1.3
2023-08-09 05:32 UTC
Requires
Requires (Dev)
- friendsofphp/php-cs-fixer: @stable
- getkirby/cms: ^3.9
README
使用密码保护您想隐藏的不受欢迎的页面。
主要功能
- 🔒 简单地保护单个页面
- 🪝 自定义注销钩子
- 🖼 包含面板蓝图
需求
- Kirby 3.7+
安装
Composer
composer require johannschopplich/kirby-locked-pages
下载
下载并将此存储库复制到 /site/plugins/kirby-locked-pages
。
使用
当访问受保护的页面时,Kirby 将重定向到登录表单(虚拟页面),在那里可以输入密码。一旦用户输入正确的密码,他将被重定向回之前受保护的页面 URL。
用户会话还将记录此页面现在可以解锁,以便进行后续请求。会话过期后,用户必须再次输入密码。
配置
请参阅以下 可用选项列表。
蓝图
将保护字段组添加到要由密码锁定的页面蓝图
sections: access: type: fields fields: security: fields/locked-pages
插件全局注册了字段组 fields/locked-pages
。
ℹ️ 注意:错误页面不可锁定。尽管可以添加字段,但它们将没有效果。
模板
您可能想要自定义显示密码表单的模板。提供的 模板 可以直接使用,但您也可以在 site/templates
文件夹内创建一个 locked-pages-login.php
模板。插件包含的模板可以作为起点。
一旦定义了自定义模板,Kirby 将自动使用您创建的模板,而不是插件提供的模板。
注销钩子
为用户提供注销的方式通常很有帮助,并且是良好的用户体验。您可以使用自定义 Kirby 钩子 来实现此目的。
触发 locked-pages.logout
钩子以清除用户的插件会话数据。一旦注销,他必须再次输入密码。
kirby()->trigger('locked-pages.logout');
选项
所有选项都在
johannschopplich.locked-pages
命名空间下。
所有
error
选项都必须用数组括起来。
以下是一个用于您的 config.php
的示例
return [ 'johannschopplich.locked-pages' => [ 'slug' => 'geschuetzt', 'title' => 'Geschützte Seite', 'error' => [ 'csrf' => 'Der CSRF-Token ist nicht korrekt', 'password' => 'Das Passwort ist nicht korrekt' ] ] ];
鸣谢
- 受 kirby-securedpages 启发
许可证
MIT 许可证 © 2021-PRESENT Johann Schopplich