允许所有人访问特定页面

时间:2018-12-13 17:03:43

标签: asp.net .net

重新限制对匿名用户的访问,但只允许所有人访问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

我在这里做什么错了?

1 个答案:

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