que estoy tratando de conseguir el proveedor de suscripciones a trabajar.ASP.NET Composición: cómo configurar el usuario como conectado
hasta ahora tengo:
<asp:Login ID="Login1" runat="server" OnAuthenticate="Login1_Authenticate">
</asp:Login>
llamando:
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
if(Membership.ValidateUser(Login1.UserName, Login1.Password))
{
Response.Redirect("/admin/default.aspx");
// Set the user as logged in?
}
}
Si entro en la correcta de usuario/contraseña, la función devuelve true ValidateUser. Entonces mi pregunta es: ¿cómo configuro al usuario como conectado?
estoy probando esto en mis páginas haciendo:
protected void Page_Load(object sender, EventArgs e)
{
if (Membership.GetUser()==null)
{
Response.Redirect("/admin/login.aspx");
}
// else "you are logged in, congratulations"
}
habría utilizado las funciones por defecto, pero simplemente no está funcionando y una búsqueda en Google me hizo pensar que voy a ahorrar tiempo en realidad recodificación todo eso yo mismo.
Cualquier cosa ayudará!
EDIT: En cuanto a la respuesta aceptada, es la correcta para "cómo configurar al usuario como inició sesión" y funciona bien. No solucionó mi problema específico, sino solo una parte de él. Pensé que si miraba los comentarios, encontrará indicadores interesantes.
EDIT 2 y la solución: Ok finalmente trabajado a cabo gracias a todos los comentarios. Esto es lo que hice, es más sencillo de lo que esperaba:
página que comprueba el estado de inicio de sesión:
protected void Page_Load(object sender, EventArgs e)
{
if (!Request.IsAuthenticated)
{
Response.Redirect("/admin/login.aspx");
}
Desconectar:
protected void LoginStatus1_Logout(object sender, LoginCancelEventArgs e)
{
FormsAuthentication.SignOut();
Response.Redirect("/admin/login.aspx");
}
}
web.config:
<authentication mode="Forms" />
entrada:
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
if(Membership.ValidateUser(Login1.UserName, Login1.Password))
{
FormsAuthentication.SetAuthCookie(Login1.UserName, true);
Response.Redirect("/admin/default.aspx");
}
}
todavía conseguir atrapado por si (Membership.GetUser() == nu ll). ¿Debo tratar de obtener el estado de inicio de sesión de alguna otra manera? – marcgg
IMO, solo debería tratar con este tema de inicio de sesión en la página Login.aspx. El SetAuthCookie funciona, lo he usado antes. Si no funciona para usted, hay algo en algún otro lugar en su código que lo está arruinando :( – Gromer
Todo mi código está allí. Lo que trato de hacer en otro lugar que no sea en la página de inicio de sesión es "si no ha iniciado sesión y luego ha vuelto a dirigir a la página de inicio de sesión. " – marcgg