Lorsque vous essayez d'accéder à mon site:Authentification par formulaires et IIS7 (& MVC): Pourquoi ReturnUrl =/est ajouté?
www.X.com
Le navigateur change de l'URL pour:
www.X.com/
Le problème est que l'URL de résultat est:
www.X.com/HomePage.aspx?ReturnUrl=/
(HomePage.aspx est la page par défaut)
Sur IE: www.X.com/HomePage.aspx?ReturnUrl=%2f
Pour une raison quelconque l'authentification des formulaires traite/comme une page que l'utilisateur tente d'accéder et obtient ensuite une redirection vers: HomePage .aspx? ReturnUrl =/
Comment puis-je définir l'authentification par formulaire (ou le routage MVC) pour ne pas traiter/comme une page, donc lors de l'accès à www.X.com cela ne changera pas l'URL?
Le site fonctionne sur Windows Server 2008 IIS7, .NET 4.
(Lors de l'exécution sur IIS6 il n'a pas eu ce problème)
Web.config:
<authentication mode="Forms">
<forms name=".AUTHCOOKIE" loginUrl="HomePage.aspx" defaultUrl="Loading.aspx" timeout="9480" />
</authentication>
MVC routage (pas sûr qu'il est lié):
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" });
}
Merci
Rafael
Voici ce que je veux: Lors de l'accès www.X.com accéder Homepage.aspx, mais sans aucune modification de l'URL (Même pas www.X.com/HomePage.aspx - il a travaillé sur IIS 6). Au lieu de cela sur IIS7, il redirige vers www.X.com/HomePage.aspx?ReturnUrl=/. C'est quelque chose à voir avec l'authentification par formulaire et IIS7. Je ne suis pas sûr de ce que je dois changer. – SirMoreno
Aaah! Alors c'est facile (je pense). C'est juste que Homepage.aspx n'est pas configuré pour être la page par défaut renvoyée par http://www.X.com (dans IIS, vous n'avez que default.aspx, index.html, et quelques variantes). À cause de cela, "http://www.X.com/"! = "Http://www.X.com/HomePage.aspx", et vous obtenez le paramètre RedirectTo ajouté. – salgiza
Homepage.aspx est la page par défaut (c'est pourquoi cela a fonctionné sur IIS6) – SirMoreno