Foros del Web » Programando para Internet » ASPX (.net) »

Recordar usuarios

Estas en el tema de Recordar usuarios en el foro de ASPX (.net) en Foros del Web. Saludos, tengo una aplicación en asp.net y uso la autentificacion basada en formularios. Mi idea es que el usuario se logea por medio de una ...
  #1 (permalink)  
Antiguo 09/10/2006, 12:14
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 20 años, 6 meses
Puntos: 0
Recordar usuarios

Saludos, tengo una aplicación en asp.net y uso la autentificacion basada en formularios. Mi idea es que el usuario se logea por medio de una pagina de login la cual ejecuto el formsautentication.setauthcookie(nombre,true).

Pues bien, quisiera recordar a ese usuario cuando éste pone que quiere ser recordado y cierra el explorador y otro día vuelve a entrar en la página.

No se si lo estaré haciendo bien, pero cuando el quiere que le recuerde, le pongo que la cookie sea persistente (true) y despues cuando vuelve a entrar, en el global.asax en el evento Session_Start condiciono el estar logeado con (if User.Identity.IsAuthenticated then)

Pues bien, de manera local, es decir cuando lo pruebo en el ordenador de casa, siempre me recuerda, pero cuando lo subo al servidor, no me recuerda y tengo que volver a logearme. ¿estoy haciendo algo mal o es el servidor que no me deja?
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #2 (permalink)  
Antiguo 09/10/2006, 14:10
 
Fecha de Ingreso: agosto-2006
Mensajes: 101
Antigüedad: 17 años, 8 meses
Puntos: 0
Compañero, hace poco tiempo le hice un tutorial a un forero.

Te pongo el link:

http://www.webprogramacion.com/registro.aspx?id=77

Espero que te ayude (está hecho en C#, si tienes alguna duda, contacta conmigo a través de este hilo del foro).

Saludos.

Última edición por dvelazquez; 08/08/2007 a las 02:34
  #3 (permalink)  
Antiguo 09/10/2006, 16:42
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 20 años, 6 meses
Puntos: 0
Pero hacer ésto, ya me inicia la sesión en los web forms, es decir si luego puedo usar el user.identity.isauthenticated?
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #4 (permalink)  
Antiguo 10/10/2006, 06:44
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 20 años, 6 meses
Puntos: 0
He hecho esto que me dices y no funciona, te dejo lo que ejecuto en el global.asax (esto lo ejecuto en el session_start):

Dim mensaje, usuario, n_usuario As String
Dim Resultado, id, rol As Integer
Dim Tkt As FormsAuthenticationTicket
Dim fecha_ultima_v As DateTime
ConF = New OdbcConnection(ConfigurationSettings.AppSettings(" CConexionF"))
If Not IsDBNull(HttpContext.Current.User) Then
If HttpContext.Current.User.Identity.AuthenticationTy pe = "Forms" Then
Tkt = FormsAuthentication.Decrypt(Request.Cookies(FormsA uthentication.FormsCookieName).Value)
n_usuario = Tkt.Name
sql = "SELECT id_usuario,nombre,id_rol,fecha_ultima_v FROM usuarios WHERE n_usuario=?"
Cmd = New OdbcCommand(sql, ConF)
Cmd.Parameters.Add(New OdbcParameter("@N_usuario", OdbcType.VarChar, 30)).Value = n_usuario
Try
da = New OdbcDataAdapter(Cmd)
da.Fill(ds, "usuario")
Catch ex As Exception
Response.Write(ex)
End Try
'Si los datos de la cookie concuerdan con el numero de usuario de la base,
'le valido, si no, le borro la cookie.
Resultado = ds.Tables("usuario").Rows.Count
If Resultado = 0 Then
ds.Tables("usuario").Rows.Clear()
'Response.Redirect("cerrarSesion.aspx")
Else
id = ds.Tables("usuario").Rows(0)("id_usuario")
usuario = ds.Tables("usuario").Rows(0)("nombre")
rol = ds.Tables("usuario").Rows(0)("id_rol")
fecha_ultima_v = ds.Tables("usuario").Rows(0)("fecha_ultima_v")
ds.Tables("usuario").Rows.Clear()
Actualiza_Ultima_Visita()
Session("id") = id
Session("login") = usuario
Session("rol") = rol
Session("UltimaV") = fecha_ultima_v
End If
End If
End If

Mi problema esque no me recuerda al usuario.
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #5 (permalink)  
Antiguo 10/10/2006, 10:46
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 20 años, 6 meses
Puntos: 0
Solo quiero saber si la cookie persistente que creas con el forms.authentication.setauthcookie(nombre,true), sirve para recordar a los usuarios cuando estos cierran el explorador y otro día vuelven a entrar en la página. Por que mi problema esque la cookie me fijo que está en el disco duro pero por alguna razón no me recuerda al usuario.
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #6 (permalink)  
Antiguo 10/10/2006, 10:53
 
Fecha de Ingreso: agosto-2006
Mensajes: 101
Antigüedad: 17 años, 8 meses
Puntos: 0
Yo en principio la cookie no la hago persistente en el ejemplo.

En esta línea:
tkt = new FormsAuthenticationTicket(1, sNombre, DateTime.Now, DateTime.Now.AddMinutes(30), false, i + "");

puede verse.

Para que fuera persistente, habría que poner, donde pone false, true.

No la hago persistente porque no me interesa que se pueda entrar sin contraseña (recordándola).

No he tenido tiempo de mirar tu ejemplo para ver donde estaba el fallo, pero en principio el código que te he pasado funciona, porque está probado. Repasalo a ver si encuentras el error compañero.

Un saludo y disculpa la tardanza para contestar.
__________________
Artículos sobre programación - www.webprogramacion.com
  #7 (permalink)  
Antiguo 11/10/2006, 07:25
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 20 años, 6 meses
Puntos: 0
A ver si se me entiende, lo que quiero es lo siguiente:
Yo entro con el explorador al foro, entonces me logeo, y selecciono lo de recordarme. Luego cierro el explorador y pasado el tiempo de sesion y de expiración de la cookie (20min), entro en el foro, en éste momento quiero saber como recuerdo a ese usuario.
Yo utilizo en el global.asax lo del user.indentity.isauthenticated y en el ordenador local me funciona, pero cuando lo subo al servidor, no me recuerda. ¿estoy haciendolo mal?

En resumen que quiero recordar al usuario cuando éste me lo indica.
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #8 (permalink)  
Antiguo 12/10/2006, 09:30
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 20 años, 6 meses
Puntos: 0
¿Nadie me puede ayudar?

Sólo quiero saber como recordar a un usuario entre sesión y sesión
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:48.