我花了一天半的时间试图解决这个问题.基本上有一个ASP.net网站使用Framework 4.0在IIS7上进行表单身份验证.
授权的东西似乎对每个场景都有效,除了没有指定文件(应该解析为默认文档).
例如(请不要在网站上苛刻它仍然被开发;)), http://www.rewardroster.com/Default.aspx完美地工作,这个页面应该允许匿名访问web.config中指定的.
但如果我直接点击www.rewardroster.com它会重定向到登录页面,返回URL设置为"/"或Login.aspx?ReturnUrl =%2f
我试过的一些事情:
1)将身份验证设置为无,然后默认文档工作,这不是问题.
2)为Web.config添加了DefaultDocument属性
3)删除了IIS中默认文档列表中除Default.aspx之外的所有条目
4)在Config中添加了MachineKey条目
5)在IIS中从集成管道切换到经典管道
这是我的配置中的内容:
<authentication mode="Forms">
<forms name="appNameAuth" loginUrl="Login.aspx" protection="All" timeout="60" slidingExpiration="true" defaultUrl="Default.aspx" path="/">
</forms>
</authentication>
</authentication>
<location path="Default.aspx">
Run Code Online (Sandbox Code Playgroud)
非常感谢你的时间,希望有人知道这里发生了什么.
我的ASP.NET Forms 4.0站点正在运行表单身份验证.默认情况下,未授权用户被拒绝,然后我允许访问某些页面.我在访问默认网址时遇到问题:http:/example.com.我在web.config中有这个条目,它定义了默认页面:
<defaultDocument>
<files>
<clear/>
<add value="default.aspx" />
</files>
</defaultDocument>
Run Code Online (Sandbox Code Playgroud)
我有这个位置覆盖:
<location path="default.aspx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
当我转到完整网址时,它工作正常:http://example.com/default.aspx,但如果我访问http://example.com,则会重定向到登录页面
有什么想法我做错了什么?