system.webserver 添加模块后页面显示不正确
Pages don't display correctly after adding module in system.webserver
我正在尝试实现一个自定义的 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)
我想我在添加自定义模块时只是遗漏了一些我需要做的事情,但我还没有找到任何关于这个问题的参考。
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;
}
我正在尝试实现一个自定义的 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)
我想我在添加自定义模块时只是遗漏了一些我需要做的事情,但我还没有找到任何关于这个问题的参考。
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;
}