我花了一个半小时试图解决这个问题。 Bascially有一个ASP.net网站与IIS7使用框架4.0的表单验证。
授权东西似乎是在每个场景下完美工作,除非点击它没有指定的文件(应该解决到默认文档)。
例如(请不要苛刻的现场它仍然发展;)),
http://www.rewardroster.com/Default.aspx完美工作,这个页面应该允许anon访问在web.config中指定。
但如果我点击www.rewardroster.com直接它重定向到返回URL设置为“/”或Login.aspx的登录页面ReturnUrl = /
我试过的一些事情:
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">
非常感谢你的时间,希望有人知道这里发生了什么。
解决方法
这是我的解决方案:
在Global.asax中,方法:Application_BeginRequest,放置如下:
if (Request.AppRelativeCurrentExecutionFilePath == "~/") HttpContext.Current.RewritePath("HomePage.aspx");
尼斯和简单,你有机会建立逻辑围绕着你想使用的主页,如果你的网站使用多个主页基于配置变量。
Dmitry.Alk
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。