例如:当一个用户在地址栏中输入http://www.csdn.net/f.rar
在他没登陆的时候会弹出“禁止下载,请先登陆!”的对话框
在他没登陆的时候会弹出“禁止下载,请先登陆!”的对话框
解决方案 »
- win7+ie8+vs2008下,为何页面引用的activex控件能够找到,但是引用它的方法就提示“对象不支持此属性或方法”
- 存储过程 Where in
- 问个Viewstate的问题(孟老师和高手们)
- asp.net 中 datagrid排序的问题,分不够可以加,谢谢各位了
- 为何就是给datagrid的页眉加不了背景,为何????
- 怎样将一个变量的值作为xslt中的参数??
- 自定义控件的里面哪些事件可以被重写呀
- 请看看这个SQL语句是否正确?
- 关于项目设置的问题。
- 请问下asp.net中有contextMenuStrip(鼠标右击控件时,显示快捷菜单)的控件吗? 或者有实现这个功能相似的控件吗?谢谢
- 动态加载用户控件,如何设置控件属性?
- Button控件的OnClick和OnClientClick时间能否同时触发??
能详细说一下吗?
{
#region IHttpHandler 成员 public bool IsReusable
{
get { return true; }
} public void ProcessRequest(HttpContext context)
{
HttpRequest req = context.Request;
//从Request对象中获取所请求文件的物理路径
string RAR_Path = req.PhysicalPath;
//设置HTTP输出的MIME类型
string ContentType = "application/x-tar";
//根据Session中UserName是否存在判断用户是否登陆
if (context.Session["UserName"] == null)
{
//未登陆则设置状态代码为404
context.Response.StatusCode = 404;
context.Response.End();
}
else
{
//登陆则输出RAR文件
context.Response.StatusCode = 200;
context.Response.ContentType = ContentType;
context.Response.WriteFile(RAR_Path);
}
} #endregion
}
具体配置了打开默认的web.config文件
<authorization>
<deny users="?" />
</authorization>
禁止用户匿名访问
<authentication mode="Forms">
<forms name=".userlogin" loginUrl="Login.aspx" />
</authentication>
用户匿名访问被拒绝了以后 重定向到登陆页面。 .userlogin 是asp.net web 应用程序项目的名称了。
在configuration节点下面添加一些允许匿名访问页面,就差不多了。
<location path="Reg.aspx">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
<location path="ForgetPwd.aspx">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
<location path="Default.aspx">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
===========================================================================
<authentication mode="Forms">
<forms name=".userlogin" loginUrl="Login.aspx" />
</authentication>
<!-- 授权
此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问
应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名
(未经身份验证的)用户。
-->
<authorization>
<deny users="?" />
<!-- 允许所有用户 --><allow users="*" />
<!-- <allow users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
<deny users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
-->
</authorization>想了解更多,就去msdn或者google一下 “web.config 表单验证”
不用使用form认证,判断用户登陆否可以保存用户名到Session,如果比如session["name"]=null或者空就禁止他下载
至于判断代码也可放到httpmodul或者httphandler中!
====================================================================================
首先,在 IIS 里面将提供下载的文件的扩展名映射到 aspnet_isapi.dll,比如 .rar
首先,在 IIS 里面将提供下载的文件的扩展名到 aspnet_isapi.dll,比如 .rar
-------------------------------------------------------------
如何做扩展名的映射?? 我不是很清楚, 是否能把操作步骤说一下? 或是用外部什么命令?谢谢
web.config 设置我试了,试不出来, 它只能是不允许没身份验证前访问ASPX文件, 而其它文件都是不需要验证就能访问下载到的。 为什么会这样?
====================================================================================
首先,在 IIS 里面将提供下载的文件的扩展名映射到 aspnet_isapi.dll,比如 .rar
----------------------------------------------------------------------------------
我在IIS的Min类型中设置了RAR扩展名, 但是程序还是不需要验证就能下载RAR文件, 但ASPX文件的访问是受到了限制! 为什么、???
=================================
iis->虚拟目录-〉应用程序设置-〉应用程序映射 添加*.rar 可执行文件\
%winnt%\Microsoft.NET\Framework\vxxxxx\aspnet_isapi.dll
=================================
iis->虚拟目录-〉应用程序设置-〉应用程序映射 添加*.rar 可执行文件\
%winnt%\Microsoft.NET\Framework\vxxxxx\aspnet_isapi.dll
------------------------------------------------------------------------
真是不好意思, 我还是看不明白如何操作设置。 我打开管理工具的IIS , 网站,虚拟目录后右点MOUSE 但没有发现" 应用程序设置“ 呀!!! 在虚拟目录 属性里边也没找到“应用程序设置“谁能告诉我如何设置 操作????
=================================
iis->虚拟目录-〉应用程序设置-〉应用程序映射 添加*.rar 可执行文件\
%winnt%\Microsoft.NET\Framework\vxxxxx\aspnet_isapi.dll
------------------------------------------------------------------------
真是不好意思, 我还是看不明白如何操作设置。 我打开管理工具的IIS , 网站,虚拟目录后右点MOUSE 但没有发现" 应用程序设置“ 呀!!! 在虚拟目录 属性里边也没找到“应用程序设置“谁能告诉我如何设置 操作????
我的是windows 2003 server
=================================
iis->虚拟目录-〉应用程序设置-〉应用程序映射 添加*.rar 可执行文件\
%winnt%\Microsoft.NET\Framework\vxxxxx\aspnet_isapi.dll
------------------------------------------------------------------------
真是不好意思, 我还是看不明白如何操作设置。 我打开管理工具的IIS , 网站,虚拟目录后右点MOUSE 但没有发现" 应用程序设置“ 呀!!! 在虚拟目录 属性里边也没找到“应用程序设置“谁能告诉我如何设置 操作????
我的是windows 2003 server
右点-〉属性
=================================
iis->虚拟目录-〉应用程序设置-〉应用程序映射 添加*.rar 可执行文件\
%winnt%\Microsoft.NET\Framework\vxxxxx\aspnet_isapi.dll
------------------------------------------------------------------------
真是不好意思, 我还是看不明白如何操作设置。 我打开管理工具的IIS , 网站,虚拟目录后右点MOUSE 但没有发现" 应用程序设置“ 呀!!! 在虚拟目录 属性里边也没找到“应用程序设置“谁能告诉我如何设置 操作????
我的是windows 2003 server
=================================
iis->虚拟目录-〉应用程序设置-〉应用程序映射 添加*.rar 可执行文件\
%winnt%\Microsoft.NET\Framework\vxxxxx\aspnet_isapi.dll
------------------------------------------------------------------------
真是不好意思, 我还是看不明白如何操作设置。 我打开管理工具的IIS , 网站,虚拟目录后右点MOUSE 但没有发现" 应用程序设置“ 呀!!! 在虚拟目录 属性里边也没找到“应用程序设置“ 而设IIS属性里边的HTTP头的MIME类型不起作用!!!
谁能告诉我如何设置 操作???? 请将步骤讲清楚好吗?
我的是windows 2003 server
我在IIS的Min类型中设置了RAR扩展名, 但是程序还是不需要验证就能下载RAR文件, 但ASPX文件的访问是受到了限制! 为什么、???
===================================================================================
iis->虚拟目录-〉应用程序设置-〉应用程序映射 添加*.rar 可执行文件\
%winnt%\Microsoft.NET\Framework\vxxxxx\aspnet_isapi.dll
------------------------------------------------------------------------
真是不好意思, 我还是看不明白如何操作设置。 我打开管理工具的IIS , 网站,虚拟目录后右点MOUSE 但没有发现" 应用程序设置“ 呀!!! 在虚拟目录 属性里边也没找到“应用程序设置“ 而设IIS属性里边的HTTP头的MIME类型不起作用!!!
谁能告诉我如何设置 操作???? 请将步骤讲清楚好吗?
我的是windows 2003 server
%winnt%\Microsoft.NET\Framework\vxxxxx\aspnet_isapi.dll
------------------------------------------------------------------------
疑问: 1: IIS 打开后哪里有"虚拟目录"选择项? 只要创建虚拟目录或选择已经建好的虚拟目录。
2: “应用程序映射” 在哪里选择? 在虚拟目录属性中并未有这个选项呀! 最后希望能把问题说清楚。 我的系统是windows 2003 server
iis->虚拟目录-〉应用程序设置-〉应用程序映射 添加*.rar 可执行文件\
%winnt%\Microsoft.NET\Framework\vxxxxx\aspnet_isapi.dll
------------------------------------------------------------------------正确的设置方法是这样的:
iis->网站-->虚拟目录-->属性-->目录-->配置(G)...-->应用程序扩展名--〉应用程序映射 添加扩展名RAR 可执行文件\
%winnt%\Microsoft.NET\Framework\vxxxxx\aspnet_isapi.dll