c# - 在网络服务器 ASP Net Core/Angular 上保存私有图像的最佳实践
问题描述
在我的 Angular 应用程序中,用户可以注册/登录并上传私有图像。上传后,这些图像会立即显示在公式中。目前图像存储在文件夹中
string imageDictionary = $"{_HostingEnvironment.WebRootPath}\\{User.Identity.Name}\\UploadFiles\\";
文件夹和图像名称存储在数据库中。
确保图像只能由如何登录的用户访问的最佳方法是什么?如果链接已知,目前可以调用图像。
如果我禁用目录浏览并给图像一个随机创建的名称就足够了吗?
我用于后端 ASP Net Core 和前端 Angular 版本 7。
解决方案
我建议你使用 Azure Blob 存储,因为已经有了安全保护
如果要将文件存储在 wwwroot 文件夹中,则需要添加中间件以检查用户权限,然后才能让他们看到文件,因为 wwwroot 文件夹是每个人都可以访问的公共文件夹
推荐阅读
- python - How do I import a module created with pybind11 on Ubuntu
- python - 等待后无法杀死子进程
- python - XgBoost 精度结果在每次运行时都不同,但参数相同。我怎样才能使它们保持不变?
- node.js - 为数组中的每个元素添加唯一值
- jquery - 在页面加载后使用 jQuery 加载 CSS 来完成
- java - HAPI HL7 验证引发异常
- spotfire - 基于 Spotfire 中的日期序列排名
- haskell - Haskell QuasiQuotes Text.RawString.QQ 插值
- vbscript - 在 HTA 中使用状态更新文本区域
- javascript - 使用 React、Jest、React-Testing-Library 测试失败案例