我在 IIS 中使用我自己的自定义身份验证,并且我希望服务器在每次加载页面时(无论是什么类型的文件)都首先检查 Application 变量,以查看用户是否经过身份验证并有权查看该站点。在 global.asax 中,这可能是:
void Application_Start(Object Sender, EventArgs e)
{
if(Application["username"] == null)
{
Response.redirect("login.aspx");
}
}
问题是这个站点有多个子根。也就是说,http://example.com/site1是与http://example.com/site2 完全不同的网站。因此,我希望说 Application_Start 函数在 site1 上工作但不影响 site2。
如果 global.asax 可以在目录级别进行自定义,那么这将不是问题。但由于每台服务器只有一个 global.asax,我无法实现此解决方案。
global.asax 有哪些替代方案?或者每个目录的 global.asax 会有所不同吗?