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");
}