saccilottoconsulting / craft-internal-assets
一个简单的插件,仅允许授权用户访问资产。只有当用户对特定源有查看权限时,才授予访问给定资产的权限(这可以在用户或组设置中设置)。资产源文件夹应移出Web根文件夹,以确保文件不通过此插件无法访问。
4.1.2
2024-04-21 14:49 UTC
Requires
- php: ^8.0
- craftcms/cms: ^4.0|^5.0
README
一个简单的插件,仅允许授权用户访问资产。只有当用户对特定源有查看权限时,才授予访问给定资产的权限(这可以在用户或组设置中设置)。
资产源文件夹应移出Web根文件夹,以确保文件不通过此插件无法访问。
要求
此插件已在Craft CMS版本4.4和版本5.0.4上进行测试
安装
要安装插件,请按照以下说明操作。
-
打开您的终端并转到您的Craft项目
cd /path/to/project
-
然后告诉Composer加载插件
composer require saccilottoconsulting/craft-internal-assets
-
在控制面板中,转到设置→插件,然后点击“安装”按钮以安装内部资产。
内部资产概述
该插件安装了一个自定义URL匹配器,它可以捕获所有对/internal/*的请求。然后,将请求与当前用户有查看访问权限的所有卷进行核对。如果用户未登录或没有访问给定卷的权限,将返回401错误(未经授权)。
通过将URL与用户有访问权限的卷的公共路径进行比较来执行卷匹配。
如果找到文件,则将文件内容流式传输到客户端。否则返回404错误(未找到)。
配置内部资产
目前此插件没有配置选项。但是,您需要启用要使用的文件系统的publicPaths,并使用/internal作为URL路径的前缀,例如,/internal/assets。
内部资产路线图
以下附加功能目前正在计划中
- 允许在资产上使用图像变换(目前不支持)
- 为内部资产启用自定义路径前缀
- 在移动设备上支持mp4文件