kerli81/securedpages

保护页面免受未经授权的用户访问

安装: 201

依赖: 0

建议者: 0

安全性: 0

星标: 31

关注者: 3

分支: 1

开放问题: 9

类型:kirby-plugin

1.2.0 2021-01-01 19:43 UTC

This package is auto-updated.

Last update: 2024-09-29 05:28:24 UTC


README

Version License Kirby

使用此插件(适用于 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

Template

用户组

插件将检查用户是否属于某个用户组。要创建此类组,在 blueprints/users/ 文件夹中创建一个 *.yml 文件。以下是一个组定义示例。

title: Webpage Access
description: Usergroup for frontend access

permissions:
  access:
    panel: false

要使用该组,在面板上创建一个新的用户。

保护页面(包括子页面)

转到要保护的页面并启用保护。启用后,将显示用户组选择字段。选择刚刚定义的组。

Protection Configuration

选项

默认行为

如果您导航到受保护的页面且未登录或您的用户不属于正确的用户组,您的请求将被转发到 /no-permission。在此页面上将显示登录表单。登录正确后,您将被转发到请求的页面。

调整默认行为的文本

要调整文本,只需覆盖提供选项

Login Form

显示另一个错误页面

如果您希望显示自定义错误页面,只需更新以下选项

筛选页面(例如,在搜索中)

如果您进行了一些搜索并希望筛选页面集合,可以按照以下方式进行筛选

$results = $site->index()->listed()->filterBy('kerli81-securedpages', 'OnlyUserVisiblePages');

此示例将仅返回当前用户可访问的页面。