Asp.net 当我将Default.aspx设置为默认页面时,IIS一直重定向到Login.aspx

Asp.net 当我将Default.aspx设置为默认页面时,IIS一直重定向到Login.aspx,asp.net,iis,Asp.net,Iis,当我将Default.aspx设置为默认页面时,IIS不断将我重定向到Login.aspx。在我的开发环境中,它工作正常,我进入了正确的页面,但只要我发布并尝试从IIS服务器登录。aspx总是排在第一位 我已确保允许其他用户: <location path="Default.aspx"> <system.web> <authorization> <allow users="?" /> </a

当我将
Default.aspx
设置为默认页面时,IIS不断将我重定向到
Login.aspx
。在我的开发环境中,它工作正常,我进入了正确的页面,但只要我发布并尝试从IIS服务器登录。aspx总是排在第一位

我已确保允许其他用户:

  <location path="Default.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>

并将其设置为默认url(在配置的下面):



我甚至在IIS中设置了默认页面,但每次发布时都会重置它。

尝试将经过身份验证的用户添加到IIS中web文件夹的安全属性中。将修改权限(读取、写入、修改、列出文件夹内容、读取和执行)授予此用户

当然,这只是验证您是否存在权限问题的临时情况。您应该考虑为网站用户设置适当的权限。


//Peace

尝试将经过身份验证的用户添加到IIS中web文件夹的安全属性中。将修改权限(读取、写入、修改、列出文件夹内容、读取和执行)授予此用户

当然,这只是验证您是否存在权限问题的临时情况。您应该考虑为网站用户设置适当的权限。


//和平

我花了大约6个小时调试这个问题。我们的网站运行正常,突然它开始重定向到登录页面而不是默认页面(未经验证)。我们的web.config正确地包含了所有身份验证/授权设置

    <authentication mode="Forms">
      <forms name="MyAuth" path="/" loginUrl="login.aspx" protection="All" timeout="30" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>

  <system.webServer>
    <defaultDocument>
      <files>
        <clear />
        <add value="default.htm" />
      </files>
    </defaultDocument>
...
  </system.webServer>

  <location path="default.htm">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>



修复后,网站恢复正常。

我花了大约6个小时调试这个问题。我们的网站运行正常,突然它开始重定向到登录页面而不是默认页面(未经验证)。我们的web.config正确地包含了所有身份验证/授权设置

    <authentication mode="Forms">
      <forms name="MyAuth" path="/" loginUrl="login.aspx" protection="All" timeout="30" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>

  <system.webServer>
    <defaultDocument>
      <files>
        <clear />
        <add value="default.htm" />
      </files>
    </defaultDocument>
...
  </system.webServer>

  <location path="default.htm">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>



修复后,网站恢复正常。

您正在使用IIS7吗
但每次发布时都会重置它。
这是因为默认页面存储在IIS 7的web.config中的
system.WebServer
-所以您在发布时会覆盖它并删除设置。@vcsjones抱歉,我不明白,我不知道我是如何覆盖它的,以及用什么覆盖它的。我上面的代码是我的配置中与Default.aspx相关的所有代码,所以如果我覆盖了它,它是否应该仍然将Default.aspx作为默认页面?在这里找到了一个答案:你在使用IIS7吗
但每次发布时都会重置它。
这是因为默认页面存储在IIS 7的web.config中的
system.WebServer
-所以您在发布时会覆盖它并删除设置。@vcsjones抱歉,我不明白,我不知道我是如何覆盖它的,以及用什么覆盖它的。我上面的代码是我的配置中与Default.aspx相关的所有代码,因此如果我覆盖了它,它是否应该仍然将Default.aspx作为默认页面?在这里找到了一个答案:谢谢,你为我省了很多麻烦。谢谢,你为我省了很多麻烦。
<system.webServer>

     <handlers>
          <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
          <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
          <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
     </handlers>

     <validation validateIntegratedModeConfiguration="false" />

</system.webServer>