今天我将我的应用程序从带有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] ,但没有运气。
我想通过以某种方式配置服务器而不是应用程序来解决它。
由于
解
我不知道它是否是正确的,但我将应用程序池的模式更改为经典而不是集成。
答案 0 :(得分:1)
将以下内容添加到web.config中,它将允许您访问Default.aspx而无需事先进行身份验证。所有其他页面都需要验证。
<location path="default.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
仅仅因为在IIS配置中添加文档作为默认值并不意味着它绕过FormsAuthentication。
答案 1 :(得分:1)
对我来说,在IIS管理器中删除有关站点的ExtensionlessUrl- *处理程序映射器就可以了。尽管所有这一切都将相关的条目添加到我已经尝试过的运行中的web.config中。