Foros del Web » Programación para mayores de 30 ;) » .NET »

Autenticación - Recordar usuario y contraseña

Estas en el tema de Autenticación - Recordar usuario y contraseña en el foro de .NET en Foros del Web. Hola a tod@s! Tengo una aplicación web en la que previamente hay que autenticarse para poder utilizar, lo que me gustaría es que una vez ...
  #1 (permalink)  
Antiguo 25/04/2005, 05:55
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 8 meses
Puntos: 1
Autenticación - Recordar usuario y contraseña

Hola a tod@s!
Tengo una aplicación web en la que previamente hay que autenticarse para poder utilizar, lo que me gustaría es que una vez autenticado un usuario este no tuviese que volverse a autenticar en un tiempo (una semana por ejemplo) y nada más entrar en la web pasara directamente de la página de login a la de inicio. Tal como lo tengo ahora una vez que el usuario cierra el navegador tiene que volver a autenticarse si vuelve a entrar a la web y es bastante incómodo.

Saludos
  #2 (permalink)  
Antiguo 25/04/2005, 07:02
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 9 meses
Puntos: 1
Si permites las cookies, el navegador almacenara las cookies,por lo tanto cada vez q entre con este anvegador no se tendra q validar.

Esto trabajalo en el web config de tu aplication.

Tengo un boton boorar cokkies q las elimina por si entran desde otro ordenador q no sea el suyo,pero par alo habitual con meterlars la primera vez vale
  #3 (permalink)  
Antiguo 25/04/2005, 07:09
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 10 meses
Puntos: 7
Utilizando el esquema normal, el navegador del cliente tiene que tener habilitado los cookies, luego lo que debes hacer es crear cookies persistentes, por ejm:
.....RedirectFromLoginPage(usuario,true)
El segundo parámetro indica si el cookie va a ser o no persistente.
Lo otro que podrías hacer es utilizar otra forma de almacenamiento de sesión y hacer que dichos datos sean guardados en una base de datos (podrías utilizar el modo SQL Server) u otro medio.
__________________
Alex Concha
Buayacorp - Programación y Diseño

Última edición por xknown; 25/04/2005 a las 07:16
  #4 (permalink)  
Antiguo 26/04/2005, 02:07
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 8 meses
Puntos: 1
Nada, que no me acaba de salir, creo el ticket como persistente pero cada vez que cierro el navegador tengo que volver a autenticarme. Os pego parte del código que utilizo a ver si veis el error:

web.config
Código:
<authentication mode="Forms">
  <forms name=".LOGIN" loginUrl="login.aspx" protection="All" timeout="60" />
</authentication>
login.aspx
Código:
...
' Creamos el ticket de autentificación de usuario.
FormsAuthentication.Initialize()
Dim fat As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, usuari, _
DateTime.Now, DateTime.Now.AddMinutes(CADUCIDAD_SESION), True, strRole, FormsAuthentication.FormsCookiePath)
Response.Cookies.Add(New HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(fat)))

' Redireccionamos a la página solicitada.
Response.Redirect(FormsAuthentication.GetRedirectUrl(User, True))
...
global.asax
Código:
Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)

        'Si el usuario está autentificado le asignamos su rol.
        If Not (HttpContext.Current.User Is Nothing) Then
            If HttpContext.Current.User.Identity.IsAuthenticated Then
                If TypeOf HttpContext.Current.User.Identity Is FormsIdentity Then
                    Dim fi As FormsIdentity = CType(HttpContext.Current.User.Identity, FormsIdentity)
                    Dim fat As FormsAuthenticationTicket = fi.Ticket

                    Dim strRoles As String() = fat.UserData.Split(",")
                    HttpContext.Current.User = New GenericPrincipal(fi, strRoles)
                End If
            End If
        End If

End Sub
Espero que alguno de vosotros vea el error. Muchas gracias y saludos!!
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 22:16.