频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

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

来源: 作者: 出处:巧巧读书 2006-09-10 进入讨论组

精华网络内容 :http://www.qqread.com/network/


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



首先编辑或者修改网站的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,找到你的网站,点右键,选属性,-》主目录-》配置


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


添加如上图。

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


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




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

欢迎交流(maximon@sina.com 无锡国税瞿惠春) 更多文章 更多内容请看Windows权限设置.NET移动与嵌入式技术.NET开发手册专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章