重新限制对匿名用户的访问,但只允许所有人访问default.aspx页面
我的web.config中实现此目的的代码如下:
<system.web>
<authentication mode="Forms">
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
<location path="default.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
但是当我转到default.aspx时,我仍然收到错误提示Access Denied
我在这里做什么错了?
答案 0 :(得分:2)
问题在于,当您导航到网站的主页时,URL是/
而不是Default.aspx
。要解决此问题,请在Global.asax
文件中添加以下代码。
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (Request.AppRelativeCurrentExecutionFilePath == "~/")
{
HttpContext.Current.RewritePath("Default.aspx");
}
}
如果您的项目中还没有,请添加Add new item > Web > Global Application Class