我有问题需要限制用户从我的网站下载静态文件 像.css和.js文件使用url.for,我已经创建了一个httphandler,我写了一些代码 将请求重定向到我的登录页面。它正在成功阻止对.js文件的请求,但是 随之而来的是它不允许我的网站使用.js文件。有没有办法做到这一点?
答案 0 :(得分:0)
我们可以使用Http Module检查URL是否包含这些特定的扩展名。例如,我们在App_code文件夹中创建一个http模块,并在web.config中配置http模块:
namespace HttpUrlRewrite
{
/// <summary>
/// Summary description for HttpUrlRewrite
/// </summary>
public class Rewriter : System.Web.IHttpModule
{
public void Init(System.Web.HttpApplication Appl)
{
Appl.BeginRequest += new System.EventHandler(Rewrite_BeginRequest);
}
public void Dispose()
{
}
public void Rewrite_BeginRequest(object sender, System.EventArgs args)
{
System.Web.HttpApplication App = (System.Web.HttpApplication)sender;
string path = App.Request.Path;
string strExt = System.IO.Path.GetExtension(path);
if (strExt == ".css")
{
//Do Something
HttpContext.Current.Response.Redirect("error.aspx");
}
else
{
//Do Something
}
}
}
}
<httpModules>
<add type="HttpUrlRewrite.Rewriter" name="HttpUrlRewrite" />
</httpModules>