ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

NocoBase外部存储权限全链路讲解:谁能传、谁能看、在哪管

NocoBase外部存储权限全链路讲解:谁能传、谁能看、在哪管 NocoBase外部存储权限全链路讲解谁能传、谁能看、在哪管【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobaseNocoBase 的文件管理器插件把本地磁盘、阿里 OSS、AWS S3、腾讯 COS 四类存储收进同一套权限规则里。读完这篇你能配出上传文件类型白名单、大小上限并知道如何在 ACL 面板里给不同角色分配文件访问权限。一次真实事故头像被当成跳板合同图流到外网客户在注册页传头像结果有人把一张带脚本的 HTML 改后缀塞了进来另一边销售随手传的产品图被未登录的访客直接下载走了。两件事的根源是一样的上传入口没有规则访问链路没有分角色。下面讲的每个机制都是在堵这两个洞。30 秒看清支持什么4 种引擎、3 层权限维度实际支持存储引擎local、ali-oss、s3、tx-cos在管理界面可并存多套上传规则MIME 类型白名单、单文件大小上限默认 20MB权限粒度未登录不能传改/删只能操作自己的文件存储配置本身也要走 ACL配置入口文件管理器插件页建存储、填规则 ACL 面板发权限三步配出第一套存储权限规则启用插件拿到默认存储文件管理器首次安装时会自动创建一个默认的本地存储引擎你不需要从零建配置。在存储里填两条规则进入管理界面的存储设置给这套存储填 MIME 白名单如image/*, application/pdf和大小上限规则落在storages表的rules字段里代码逻辑见 src/server/rules/。回 ACL 面板发权限给外部访客只留查看权给运营加上传权把存储管理的权限单独留给管理员角色。谁 → 能做什么 → 在哪里控制权限模型的三要素上传链路可以想成写字楼的门禁刷工牌登录才能进楼但打印机只认你本人刷卡机房钥匙则只有行政才有。对应到代码三要素是这样的谁登录用户loggedIn是上传的最低门槛未登录一律 403。能做什么上传、新建放开给登录用户但更新和删除被强制加了一个过滤条件——只命中createdById等于当前用户的记录。别人传的文件你连改的机会都没有。在哪里控制角色级权限在 ACL 面板分配文件级约束写在插件里核心就是这几行注册逻辑this.app.acl.allow(attachments, [upload, create], loggedIn); this.app.acl.addFixedParams(attachments, update, ownMerger); this.app.acl.addFixedParams(attachments, destroy, ownMerger);存储配置storages:*被注册为独立的 ACL 片段意味着谁能动存储和谁能传文件是两条互不影响的线默认引擎还有删除保护。客户头像上传只放图片公开可看头像场景要的是门槛低但入口窄。给这个字段单独建一套存储规则里 MIME 只写image/*、大小限 2MBACL 上给普通注册用户开上传权即可。这套规则在上传瞬间校验不合格直接返回 400访客拿不到文件 URL 就下不走。内部合同归档只收 PDF非管理员看不见合同场景反过来——门槛高、口子小。新建一套私有存储MIME 规则写死application/pdf这样 HTML、XML、SVG 这类可执行内容的文件一律进不来再在 ACL 里把文件查看权限只分配给法务和管理员角色。销售团队只保留上传和查看自己上传的权限归档目录对其他角色彻底不可见。上线前先看这 5 条MIME 校验读的是文件头魔数而不是后缀名把evil.html改名成a.png照样会被拒。默认存储引擎和被数据表引用的存储都删不掉系统在用前会拦下你防止字段链接断裂。不配 MIME 规则就是*全放行公网入口的存储别偷懒。默认大小上限是 20MB大文件场景记得显式调大小图场景显式调小。本地存储的路径有防穿越检查但生产环境更建议用 OSS/S3 配 CDN权限和带宽一起省心。存储权限这件事说到底就是上传有闸、查看有门、配置有锁三层NocoBase 把三层都留了开关。现在就可以打开管理界面进文件管理器往默认存储里传一张图片再传一个.html试试——被拒的那一刻你就知道规则生效了。【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表