Pregunta

Tengo este sitio de membresía configurado en mi máquina local usando el proveedor de membresía ASP.NET.Cuando voy a:

http://localhost/admin/

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:

http://localhost/Login.aspx

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>
¿Fue útil?

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).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top