kerli81 / securedpages
保护页面免受未经授权的用户访问
1.2.0
2021-01-01 19:43 UTC
Requires
- getkirby/composer-installer: ^1.1
- mzur/kirby-uniform: ^4.0
This package is auto-updated.
Last update: 2024-09-29 05:28:24 UTC
README
使用此插件(适用于 Kirby CMS)可以防止未经授权的用户访问页面或页面层次结构。权限将由用户组授予。如果用户尚未登录,将显示登录页面。
需求
- Kirby CMS,版本 3.x
安装
下载
下载并解压缩此存储库,将文件夹重命名为 securedpages
并将其放入您的 Kirby 3 安装程序的插件文件夹中。您应该得到以下文件夹结构:
site/plugins/securedpages/
Composer
如果您使用 Composer,可以使用以下命令安装插件:
composer require kerli81/securedpages
Git 子模块
git submodule add https://github.com/kerli81/kerby-securedpages.git site/plugins/securedpages
用法
蓝图
要启用页面安全配置,您的蓝图需要包含安全字段。以下是一个这样的页面蓝图示例。
title: Protected Page columns: # main - width: 2/3 sections: content: type: fields fields: text: text: type: textarea size: large # sidebar - width: 1/3 sections: securityconfig: type: fields fields: security: fields/kerli81.securedpages.pageconfiguration pages: type: pages files: type: files
用户组
插件将检查用户是否属于某个用户组。要创建此类组,在 blueprints/users/
文件夹中创建一个 *.yml 文件。以下是一个组定义示例。
title: Webpage Access description: Usergroup for frontend access permissions: access: panel: false
要使用该组,在面板上创建一个新的用户。
保护页面(包括子页面)
转到要保护的页面并启用保护。启用后,将显示用户组选择字段。选择刚刚定义的组。
选项
默认行为
如果您导航到受保护的页面且未登录或您的用户不属于正确的用户组,您的请求将被转发到 /no-permission
。在此页面上将显示登录表单。登录正确后,您将被转发到请求的页面。
调整默认行为的文本
要调整文本,只需覆盖提供选项
显示另一个错误页面
如果您希望显示自定义错误页面,只需更新以下选项
筛选页面(例如,在搜索中)
如果您进行了一些搜索并希望筛选页面集合,可以按照以下方式进行筛选
$results = $site->index()->listed()->filterBy('kerli81-securedpages', 'OnlyUserVisiblePages');
此示例将仅返回当前用户可访问的页面。