401,由于凭证无效,访问被拒绝

时间:2012-05-16 21:10:05

标签: asp.net forms-authentication authorization

在global.aspx:

void Application_BeginRequest(object sender, EventArgs e)
{
  if (ConfigurationManager.AppSettings["MaintenanceMode"] == "true")
    if (!Request.IsLocal)
      if (Request.CurrentExecutionFilePathExtension == ".aspx")
        HttpContext.Current.RewritePath("Maintenance.htm");
}

在web.config:

<appSettings>  
  <add key="MaintenanceMode" value="true"/>  
</appSettings>
<location path="Maintenance.htm">  
  <system.web>
    <authorization>
      <allow users="*" />
    </authorization>
  </system.web>
</location>

当通过Visual Studio在本地运行网站时,一切都很好,
但是在网络服务器上我得到了一个用户名/密码登录窗口,
Cancel后显示401信息 此外,登录窗口不接受输入正确的用户名和密码 我正在使用表单身份验证。

欢迎任何建议。

2 个答案:

答案 0 :(得分:0)

Maintenance.htm文件更改为ASPX格式解决了这个问题。

答案 1 :(得分:0)

我只想注意搜索此错误的任何人,它可能是由web.config中的各种错误引起的。

这个web.config是web.config的精髓,为我解决了这个问题

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <security>
            <authentication>
                <anonymousAuthentication userName="" />
            </authentication>
        </security>
    </system.webServer>
</configuration>