当试图访问我的网站:表单身份验证和IIS7(&MVC):为什么ReturnUrl = /被添加?
www.X.com
浏览器的URL改变了到:
www.X.com/
的问题是,结果网址是:
www.X.com/HomePage.aspx?ReturnUrl=/
(HomePage.aspx是默认页)
在IE:www.X.com/HomePage.aspx?ReturnUrl=%2f
出于某种原因,窗体身份验证治疗/作为一个页面,用户试图访问,然后得到重定向到:首页.aspx?ReturnUrl =/
如何设置窗体身份验证(或MVC路由)不要视为/作为一个页面,所以当访问www.X.com它不会改变网址?
该网站在Windows Server 2008上运行IIS7,.NET 4
(当IIS6运行它没有这个问题)
Web.config文件:
<authentication mode="Forms">
<forms name=".AUTHCOOKIE" loginUrl="HomePage.aspx" defaultUrl="Loading.aspx" timeout="9480" />
</authentication>
MVC路由(不知道它的相关):
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
routes.IgnoreRoute("{resource}.ascx/{*pathInfo}");
routes.IgnoreRoute("{resource}.ashx/{*pathInfo}");
routes.IgnoreRoute("{resource}.gif/{*pathInfo}");
routes.MapRoute("Actions", "A/{controller}/{action}", new { controller = "Tasks", action = "InitPage" });
}
感谢
拉斐尔
这是我想要的:当访问www.X.com访问Homepage.aspx但没有任何URL更改(甚至没有www.X.com/HomePage.aspx - 它在IIS 6上工作)。取而代之的是IIS7它重定向到www.X.com/HomePage.aspx?ReturnUrl=/。这是与表单身份验证和IIS7有关我不知道我需要改变。 – SirMoreno 2010-06-23 11:48:28
啊!然后很简单(我认为)。只是将Homepage.aspx配置为http://www.X.com返回的默认页面(在IIS中,您只有default.aspx,index.html和一些变体)。正因为如此,“http://www.X.com/”!=“http://www.X.com/HomePage.aspx”,你会得到RedirectTo参数。 – salgiza 2010-06-23 12:03:06
Homepage.aspx被设置为默认页面(这就是为什么它在IIS6上工作) – SirMoreno 2010-06-23 12:13:49