限制从asp.net中的webbrowser下载静态文件

时间:2012-06-21 14:42:22

标签: asp.net

我有问题需要限制用户从我的网站下载静态文件 像.css和.js文件使用url.for,我已经创建了一个httphandler,我写了一些代码 将请求重定向到我的登录页面。它正在成功阻止对.js文件的请求,但是 随之而来的是它不允许我的网站使用.js文件。有没有办法做到这一点?

1 个答案:

答案 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>