johannschopplich/kirby-locked-pages

为 Kirby CMS 页面设置密码保护

2.1.3 2023-08-09 05:32 UTC

This package is auto-updated.

Last update: 2024-09-12 23:02:46 UTC


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'
        ]
    ]
];

鸣谢

许可证

MIT 许可证 © 2021-PRESENT Johann Schopplich