页面don';在system.webserver中添加模块后无法正确显示

本文关键字:模块 显示 添加 don webserver system 页面 | 更新日期: 2023-09-27 18:21:35

我正在尝试实现一个自定义http安全模块,该模块使用站点地图中的角色来控制对页面的访问(而不必将其全部存储在web.config中)。以下文章如下:http://www.codeproject.com/Articles/8728/Extending-ASP-NET-security

我已经为较新版本的IIS更新了它,在system.webServer中添加了模块,而不是

<system.webServer>
   <modules>
      <add name="SecurityHttpModule" type="DINO.SecurityHttpModule"/>      
   </modules>
</system.webServer>

在这方面,一切似乎都很正常,但页面不再正确呈现。如果我在Chrome中查看控制台,我会看到类似的错误

Resource interpreted as Stylesheet (or Script) but transferred with MIME type test/html: "http://localhost:57855/login" 
    and
Uncaught SyntaxError: Unexpected token <  (about the <!DOCTYPE html> at the top of the page)

我想我只是在添加自定义模块时遗漏了一些需要做的事情,但我还没有找到任何关于这个问题的参考。

页面don';在system.webserver中添加模块后无法正确显示

Oguz-Ozgul的评论是正确的。为了解决这个问题,我添加了一个要验证权限的扩展列表,然后将其作为身份验证请求方法的第一部分进行检查。
private static readonly List<string> extensionsToValidate = new List<string>(new string[] { ".aspx", "" });
private void AuthenticateRequest(Object sender, EventArgs e)
{
    //Ignore specified extensions from redirection
    string CurrentExt = Path.GetExtension(HttpContext.Current.Request.Url.LocalPath);
    if (extensionsToValidate.Contains(CurrentExt))
    {
        //do all security check work here
    }
    else return;
}