1

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

我已确保允许匿名用户:

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

并将其设置为默认网址(在配置的下方):

<authentication mode="Forms">
  <forms loginUrl="Login.aspx" defaultUrl="Default.aspx"></forms>
</authentication>
<authorization>
  <deny users="?" />
</authorization>

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

4

2 回答 2

5

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

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

//和平

于 2012-07-08T17:47:52.180 回答
0

我花了大约 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>

...

解决方案:您需要从您的网站中删除无扩展 URL 功能。参考: https: //support.microsoft.com/en-us/help/2526854/users-may-be-redirected-to-the-login-page-of-an-asp-net-4-application

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

修复后,网站恢复正常。

于 2019-06-14T20:24:19.207 回答