При попытке получить доступ к моему сайту:
www.X.com
Браузер изменяет URL-адрес на:
www.X.com /
Проблема в том, что URL-адрес результата:
www.X.com / HomePage.aspx? ReturnUrl = /
(HomePage.aspx - страница по умолчанию)
В IE: www.X.com/HomePage.aspx?ReturnUrl=%2f
По какой-то причине проверка подлинности с помощью форм обрабатывает / как страницу, к которой пользователь пытается получить доступ, а затем перенаправляет на: HomePage.aspx? ReturnUrl = /
Как настроить проверку подлинности с помощью форм (или маршрутизацию MVC), чтобы она не воспринималась как страница, поэтому при доступе к www.X.com она не изменит URL-адрес?
Сайт работает на 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 Routing (не уверен, что это связано):
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" });
}
Спасибо
Рафаэль