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/nocobase公司系统上线后有人把一张合同附件的链接转发给了外部客户——点一下就能看到内容。这类问题出在文件访问权限上。NocoBase 的文件权限控制由文件管理器插件完成上传什么类型、多大文件存在哪台机器或哪个云存储桶谁能打开附件都能单独设好。这篇指南按新手最常问的几个问题展开带你把 NocoBase 外部存储和文件访问权限一次配明白。问题一上传的文件到底存在哪里NocoBase 的文件都经过存储引擎落盘内置四种代码位于 src/server/storages/本地存储local文件写在服务器磁盘上适合内网单机部署配置最简单。阿里云 OSSali-oss填 AccessKey 和 Bucket 即可。AWS S3s3兼容 S3 协议的存储基本都能接入。腾讯云 COStx-cos填密钥与地域信息。每个引擎有独立配置显示名、英文标识、类型、参数、访问地址前缀baseUrl、文件存放路径模板、是否设为默认引擎。字段定义可参考 common/collections/storages.ts。新手建议开发环境用本地存储生产环境换 OSS/S3/COS。多引擎可以并存附件字段上传时指定用哪一个迁移时再统一切默认引擎。问题二怎么限制上传的文件类型和大小类型限制由 MIME 白名单规则实现规则源码在 src/server/rules/mimetype.ts。规则用逗号分隔的 MIME 模式书写比如image/*放行所有图片image/*, application/pdf放行图片和 PDF填*或留空表示不限制。关键点NocoBase 不是只看扩展名。上传时服务端会读取文件头部的真实内容做 MIME 检测拿检测到的类型去匹配白名单。把malware.exe改名为photo.jpg是过不了image/*白名单的。文件大小同样在上传环节拦截超限直接拒绝不会先落盘再清理。限制常量定义在 constants.ts。问题三私有访问权限怎么配权限分两层第一层谁有资格发起下载。所有文件下载都走资源动作接口受 NocoBase 内置 ACL 体系管控。你在 ACL 面板里给某个角色授权附件字段读取这个角色才能拿到文件内容。想让普通用户只能看自己上传的文件就在 ACL 里按记录级权限细化而不是把文件直接公开。第二层文件本身是否公开可访问。本地存储下把baseUrl指向一个不经过鉴权的静态目录任何人都能靠 URL 直接取文件——这就是最典型的泄露点。正确做法有两种让下载接口保持鉴权附件链接只在登录后才有效云存储设为私有桶由 NocoBase 按需换取临时访问地址签名 URL外部拿到的是有时效的链接过期即失效。配置时对照官方中文文档的 存储引擎章节每种云存储的私有桶参数都有说明。坑一为什么我上传 HTML 或 SVG 会被拦截这是 NocoBase 特意加的防护。HTML、SVG、XHTML、XML 这类可执行内容如果允许匿名访问可能被用于钓鱼或脚本注入。上传逻辑见 actions/attachments.ts会检查文件是否属于这类活跃内容只要 MIME 白名单里没有明确放行它们就会拒绝。对策很简单——确有必要接收 SVG 时把它显式加进白名单例如image/svgxml同时确保这些文件不会被公开直链访问。宁可少放行不要图省事全放行。坑二怎么验证权限真的生效了三步自检用一个无权限角色的账号登录尝试直接访问某个附件链接应当拿不到文件把云存储桶设为私有后用浏览器无痕模式打开原始对象 URL确认返回 403故意上传一个test.html观察是否被白名单规则拦截。三个都通过说明上传侧和访问侧的关卡都关上了。下一步打开你的 NocoBase 管理后台先给默认存储引擎加一条image/*, application/pdf的 MIME 白名单再把附件下载权限从全员可读收紧到具体角色——改完用上面的三步自检走一遍你的文件访问权限就真正可控了。【免费下载链接】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),仅供参考
返回列表