¿Por qué mi página de inicio de sesión de membresía de asp.net no funciona con una redirección?
-
22-08-2019 - |
Pregunta
Tengo este sitio de membresía configurado en mi máquina local usando el proveedor de membresía ASP.NET.Cuando voy a:
Me redirige a
http://localhost/Login.aspx?ReturnUrl=%2fadmin%2fDefault.aspx
Lo cual está bien.Pero después de ingresar mi información de inicio de sesión, la página parece actualizarse.En realidad, no me registra y simplemente parece que actualiza la página.Si cambio la URL a:
Funciona bien.Me registra sin problemas y me redirige a mi página predeterminada.También revisé el sitio en vivo y hace lo mismo.¿Algunas ideas?¡Gracias de antemano!
EDITAR:Aquí está el marcado:
<asp:Login ID="Login1" runat="server" CssClass="LoginBox" TitleText="Please Log In">
<LayoutTemplate>
<h2>
Please Log In:</h2>
<p runat="server" id="FailureText" visible="false">
Either your email address or password was incorrect. Please try again.</p>
<strong>Email</strong><br />
<asp:TextBox ID="UserName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
Text="*"></asp:RequiredFieldValidator>
</p>
<p>
<strong>Password</strong><br />
<asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
Text="*"></asp:RequiredFieldValidator>
</p>
<p>
<asp:Button ID="Login" CommandName="Login" runat="server" Text="Log In" /></p>
<p>
Please <a runat="server" id="Link_ContactUs">contact </a>an administrator if you
are having trouble logging in or have forgotten your password.</p>
</LayoutTemplate>
</asp:Login>
Configuración de web.config:
<authentication mode="Forms">
<forms loginUrl="/Login.aspx"
protection="All"
timeout="60"
name="AppNameCookie"
path="/Admin"
requireSSL="false"
slidingExpiration="true"
defaultUrl="/Admin/Default.aspx"
cookieless="UseCookies"
enableCrossAppRedirects="false" />
</authentication>
Solución
¿Nos puede mostrar algo de código? Si está utilizando el método FormsAuthentication.RedirectFromLoginPage
, usted debe conseguir lo que quiere. ¿Está utilizando FormsAuthentication.SetAuthCookie
lugar?
Actualizar
Cambiar path="/Admin"
en web.config
a path=/
La razón por la que no funciona es que su cookie de autenticación sólo se establece en la ruta /Admin
y su navegador URL trata como mayúsculas y minúsculas para que no se envíe la cookie de autenticación de nuevo a la página /admin/Default.aspx
(admin
minúsculas).