當試圖訪問我的網站:表單身份驗證和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