.NET MVC 通过权限控制文件的下载
来源:互联网 发布:淘宝批量投放模块 编辑:程序博客网 时间:2024/05/21 12:08
禁止用户通过URL直接下载文件
在web.config中配置通过后缀名拒绝访问(需要IIS服务器已安装请求筛选模块)
<security> <requestFiltering> <fileExtensions> <add fileExtension=".zip" allowed="false" /> <add fileExtension=".ppt" allowed="false" /> <add fileExtension=".pptx" allowed="false" /> <add fileExtension=".doc" allowed="false" /> <add fileExtension=".docx" allowed="false" /> <add fileExtension=".xls" allowed="false" /> <add fileExtension=".xlsx" allowed="false" /> </fileExtensions> </requestFiltering></security>
通过专门的方法读取并下载文件
在用户生成文件时,将uid作为文件名的第一个参数,当用户通过DownloadDoc
方法下载文件时通过当前用于的uid和文件名的uid进行比对,然后下载。也可以将不同用户的文件放在不同的目录中,通过目录名来控制下载请求。
public ActionResult DownloadDoc(){ string fileName = Convert.ToString(Request["name"]); int uid = RequestHandler.SafeInt(Convert.ToString(System.Web.HttpContext.Current.Session["id"])); string[] arr = fileName.Split(new Char[] { '-'}); if(arr.Length < 1) { return ErrorResponse("文件格式错误,下载失败"); } if(uid != RequestHandler.SafeInt(Convert.ToString(arr[0]))) { return ErrorResponse("没有权限下载此文件"); } string path = GlobalConst.rootPath + GlobalConst.DocFile + "User" + "/" + fileName; if (System.IO.File.Exists(path) == false) { return ErrorResponse("文件不存在"); } return File(new FileStream(path, FileMode.Open), "application/octet-stream", fileName);}
阅读全文
0 0
- .NET MVC 通过权限控制文件的下载
- 文件下载的权限控制(asp.net)
- 文件下载的权限控制(asp.net)
- 文件下载的权限控制(asp.net)
- asp.net如何控制文件下载的权限?
- 文件下载的权限控制
- .NET MVC 中的权限控制
- 文件上传与下载权限的控制
- 通过 js 来控制文件的下载
- 【Struts2】中文文件的下载与下载权限的控制
- ASP.NET MVC中权限控制的简单实现
- .NET MVC实现文件下载的实例
- 文件下载权限控制机制
- asp.net core mvc权限控制:权限控制介绍
- 基于ASP.NET MVC URL 权限控制
- Asp.Net Mvc下载文件
- .Net MVC FTP文件下载
- asp.net core mvc权限控制:分配权限
- C++多态 、 数据抽象、数据封装、接口(抽象类)
- POJ2386---Lake Counting
- 欢迎使用CSDN-markdown编辑器
- js判断客户端是pc端还是移动端
- Android 自己的XMPP IM 设计客户端设计
- .NET MVC 通过权限控制文件的下载
- struts2_day01_17_案例-客户列表
- OpenGL高级特性之利用Image内存模型&计算着色器&原子操作实现(直方图模型)通用计算
- ProGuard代码混淆技术详解
- 阿里规约插件在eclipse下不能安装
- OpenStack-M版(Mitaka)搭建基于(Centos7.2)+++五、Openstack计算服务(nova)下
- Golang从零开始(一) 编译环境搭建(Ubuntu17)
- Linux-3.3.5内核初步移植到OK6410开发板
- 小麦子-WPF学习系列3:一个完整的界面案例