文件下载的权限控制(asp.net)

原创 2003年12月26日 12:21:00

 

笔者做一个报表展示的网站,报表使用excel形式存放在服务器,希望登录的人或者有权限的人才能下载excel报表。但是文件下载的路径无法隐藏,所以页面控制根本没用。近日在研究iis的时候,突然就豁然开朗了。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

首先编辑或者修改网站的web.config,加入或者修改红色区域

  <!--  身份验证

          此节设置应用程序的身份验证策略。可能的模式是 "Windows"

          "Forms" "Passport" "None"

 

          "None" 不执行身份验证。

          "Windows" IIS 根据应用程序的设置执行身份验证

            (基本、简要或集成 Windows)。在 IIS 中必须禁用匿名访问。

          "Forms" 您为用户提供一个输入凭据的自定义窗体(Web ),然后

           在您的应用程序中验证他们的身份。用户凭据标记存储在 Cookie 中。

          "Passport" 身份验证是通过 Microsoft 的集中身份验证服务执行的,

           它为成员站点提供单独登录和核心配置文件服务。

    -->

        <authentication mode="Forms">

    <forms name=".ASPXUSERDEMO" loginUrl="login.aspx" protection="All" timeout="60" path="/"><credentials passwordFormat="SHA1" /></forms>

    </authentication>

 

 

       <!--  授权

           此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问

          应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名

          (未经身份验证的)用户。

    -->

 

    <authorization>

        <deny users="?"/>

            <!--  <allow     users="[逗号分隔的用户列表]"

                             roles="[逗号分隔的角色列表]"/>

                  <deny      users="[逗号分隔的用户列表]"

                             roles="[逗号分隔的角色列表]"/>

            -->

</authorization>

 

接着编写login.aspx

对于登录成功者加入

FormsAuthentication.SetAuthCookie(uid,false);

     FormsAuthentication.RedirectFromLoginPage(uid,false);

 

打开iis,找到你的网站,点右键,选属性,-》主目录-》配置

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />CSDN_Dev_Image_2003-12-251558520.png

然后在“映射”中选添加,

CSDN_Dev_Image_2003-12-251558522.png

添加如上图。

好了,大功告成,现在再访问主站下的一个xls文档http://localhost/sms/1.xls,看到什么?

CSDN_Dev_Image_2003-12-251558524.png

呵呵,没错,需要您登录了。当你输入登录信息并且登录了您才能下载这个文件!

CSDN_Dev_Image_2003-12-251558526.png

 

对,就这么简单,如果加上role,可以进行更复杂的控制。

欢迎交流(maximon@sina.com 无锡国税瞿惠春)

asp.net如何控制文件下载的权限?

我找到三种方法,但都无法实现断点续传。我需要控制下载的文件大小是300M左右。 需要使用迅雷等下载工具,但这三种方法都无法实现,请教高手。谢谢。 前两种方法都有这样的毛病,不能用迅...
  • gaotongzhao
  • gaotongzhao
  • 2011年09月17日 14:23
  • 1028

asp.net下载,支持中文名,断点续传,控制单线程下载速度

using System; using System.Data; using System.Configuration; using System.Linq; using System.Web...
  • chenloveyue
  • chenloveyue
  • 2011年11月30日 14:44
  • 1476

静态文件下载权限控制机制

要对下载的权限进行精确的控制(防止盗链,防止迅雷吸血,下载扣除积分等虚拟货币),以前接触的方法有几种: 1、通过rewrite不断地更改下载文件的url,并插入很多无意义的字符; 2、验证下载链接...
  • w6299702
  • w6299702
  • 2015年05月08日 10:57
  • 1511

asp.net权限控制的方式

我们在使用asp.net开发Web程序的时候经常
  • qq1010885678
  • qq1010885678
  • 2014年07月07日 09:41
  • 3426

ASP.NET MVC程序权限控制解决方案(一)

1.  什么是权限?? l  权限跟用户登录是没有任何关系的,但是要用到用户的数据,权限就是在请求我们系统的一个服务(请求地址,请求方法,请求Action,请求WebService等)的时候,当在请...
  • yiwuxun
  • yiwuxun
  • 2014年10月29日 22:17
  • 2103

asp.net权限控制

  • 2012年03月25日 13:57
  • 530KB
  • 下载

基于ASP.NET MVC3的身份验证及权限控制方案设计

  • 2015年12月17日 14:01
  • 44KB
  • 下载

asp.net角色和权限控制

  • 2009年04月03日 10:16
  • 925KB
  • 下载

ASP.net MVC 基于角色的权限控制系统的实现

一、引言 我们都知道ASP.net mvc权限控制都是实现AuthorizeAttribute类的OnAuthorization方法。 下面是最常见的实现方式: public ...
  • jiangfei009003
  • jiangfei009003
  • 2014年08月06日 09:42
  • 2610

asp.net权限控制的方式

我们在使用asp.net开发Web程序的时候经常
  • qq1010885678
  • qq1010885678
  • 2014年07月07日 09:41
  • 3426
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文件下载的权限控制(asp.net)
举报原因:
原因补充:

(最多只允许输入30个字)