saccilottoconsulting/craft-internal-assets

一个简单的插件,仅允许授权用户访问资产。只有当用户对特定源有查看权限时,才授予访问给定资产的权限(这可以在用户或组设置中设置)。资产源文件夹应移出Web根文件夹,以确保文件不通过此插件无法访问。

安装次数: 3,309

依赖项: 0

建议者: 0

安全: 0

星级: 33

关注者: 5

分支: 8

类型:craft-plugin

4.1.2 2024-04-21 14:49 UTC

This package is auto-updated.

Last update: 2024-09-21 15:40:12 UTC


README

一个简单的插件,仅允许授权用户访问资产。只有当用户对特定源有查看权限时,才授予访问给定资产的权限(这可以在用户或组设置中设置)。

资产源文件夹应移出Web根文件夹,以确保文件不通过此插件无法访问。

要求

此插件已在Craft CMS版本4.4和版本5.0.4上进行测试

安装

要安装插件,请按照以下说明操作。

  1. 打开您的终端并转到您的Craft项目

     cd /path/to/project
    
  2. 然后告诉Composer加载插件

     composer require saccilottoconsulting/craft-internal-assets
    
  3. 在控制面板中,转到设置→插件,然后点击“安装”按钮以安装内部资产。

内部资产概述

该插件安装了一个自定义URL匹配器,它可以捕获所有对/internal/*的请求。然后,将请求与当前用户有查看访问权限的所有卷进行核对。如果用户未登录或没有访问给定卷的权限,将返回401错误(未经授权)。

通过将URL与用户有访问权限的卷的公共路径进行比较来执行卷匹配。

如果找到文件,则将文件内容流式传输到客户端。否则返回404错误(未找到)。

配置内部资产

目前此插件没有配置选项。但是,您需要启用要使用的文件系统的publicPaths,并使用/internal作为URL路径的前缀,例如,/internal/assets。

内部资产路线图

以下附加功能目前正在计划中

  • 允许在资产上使用图像变换(目前不支持)
  • 为内部资产启用自定义路径前缀
  • 在移动设备上支持mp4文件

Ramon Saccilotto提供