start page initial change asp.net iis login default-document

asp.net - initial - start page iis



Tener que iniciar sesiĆ³n dos veces en la aplicaciĆ³n asp.net debido a "Documento predeterminado" en IIS (3)

Anteriormente, agregué login.aspx a la sección Documento predeterminado en IIS.

Sin embargo, cuando alguien estaba accediendo a la aplicación, se requería iniciar sesión dos veces . El primero no dice ningún mensaje de error o ninguna redirección a la página siguiente en la aplicación. Y el segundo realmente redirigiría al usuario a la página esperada. Y el usuario estaba usando las credenciales correctas las dos veces.

Tan pronto como eliminé login.aspx de la sección Documento predeterminado en el IIS, y el usuario proporcionó el enlace completo a la aplicación (~ / login.aspx), el problema desapareció ya que solo era necesario iniciar sesión una vez.

¿Alguien sabe por qué ocurre esto?


¿Tiene la página de índice establecida como predeterminada y presente?

De su escasa información, puedo encontrar una explicación (de muchas):

primero llega a yoursite.com (sin especificar el login.aspx) lo redirige a login.aspx detrás de las escenas pero la URL permanece igual. Cuando envía desde login.aspx probablemente vaya a alguna otra página (existente), que redirige al usuario a login.aspx (reescribiendo la url esta vez).

SI quieres una mejor explicación, deberás proporcionar más detalles


En Global.asax agregue estas líneas

void Application_BeginRequest(object sender, EventArgs e) { if (Request.QueryString.ToString().EndsWith("ReturnUrl=%2f")) System.Web.HttpContext.Current.Response.Redirect("~/login.aspx"); if (Request.AppRelativeCurrentExecutionFilePath == "~/") HttpContext.Current.RewritePath("login.aspx");//This is the default page to navigate after a successful login. }


Para resolver este problema, en el evento Page_Load del documento predeterminado, debe verificarse lo siguiente:

if (this.User.Identity.IsAuthenticated) { Response.Redirect("somepage.aspx"); }

Fuente: asp.net Form Authentication change .net 2 a .net4