【问题标题】:Authentication Ignoring Default Document身份验证忽略默认文档
【发布时间】:2011-11-01 11:12:32
【问题描述】:

今天我将我的应用程序从一台装有 IIS6 的服务器移到一台装有 IIS7.5 的新服务器上(windows server 2008 R2)。

奇怪的是我无法访问默认文档,尽管它已在默认文档部分设置。该文件是“deault.aspx”,当我尝试使用 ip 访问该页面时,我得到了http://[IP]/login.aspx?ReturnUrl=%2f,但如果我直接访问它就可以正常工作。

这是来自 web.config 的设置

<authentication mode="Forms">
  <forms protection="All" loginUrl="login.aspx" name="CookieName" timeout="49200" requireSSL="false"/>
</authentication>
<authorization>
  <deny users="?"/>
</authorization>

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

我已经尝试用这里写的一些建议来解决这个问题 [Forms Authentication Ignoring Default Document] ,但没有运气。

我想通过以某种方式配置服务器而不是应用程序来解决它。

谢谢

解决方案

不知道对不对,我把应用池的模式改成经典而不是集成。

【问题讨论】:

    标签: asp.net web-config iis-7.5


    【解决方案1】:

    将以下内容添加到 web.config 中,它将允许您访问 Default.aspx 而无需事先进行身份验证。所有其他页面都需要身份验证。

    <location path="default.aspx">
        <system.web>
            <authorization>
                <allow users="*"/>
            </authorization>
        </system.web>
    </location>
    

    仅仅因为一个文档被添加为 IIS 配置中的默认值并不意味着它绕过了 FormsAuthentication。

    【讨论】:

    • 正如我在帖子中提到的,我可以直接访问该文件。这意味着我已经添加了这个设置。谢谢
    【解决方案2】:

    对我来说,在 IIS 管理器中删除相关站点的 ExtensionlessUrl-* 处理程序映射器就可以解决问题。尽管这一切只是将相关条目添加到我已经尝试过但没有运气的 web.config。

    【讨论】:

      猜你喜欢
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      • 2014-03-11
      • 2017-09-11
      • 1970-01-01
      • 2019-07-22
      相关资源
      最近更新 更多