2008-09-29 6 views
8

Mi cliente quiere que active una casilla de verificación "Recordarme" cuando el usuario inicia sesión. Estoy encriptando y almacenando tanto el nombre de usuario como la contraseña en una cookie.Uso de la funcionalidad "Recordarme" para la autenticación en .NET 2.0

Sin embargo, no puede escribir en un cuadro de texto cuando está en modo de contraseña.

He visto esto hecho en numerosas ocasiones, entonces, ¿cómo lo están haciendo?

gracias de antemano!

Respuesta

8

¿Qué tal si en lugar de insertar el texto en el formulario de inicio de sesión, omite el formulario completamente y verifica el contenido de la cookie en la página de inicio de sesión? Menos trabajo para el usuario, y lo hará un poco más transparente.

+0

lo que quiso decir es inicio de sesión automático ¿no? –

+0

Correcto. Verifique la cookie incluso antes de presentar el formulario de inicio de sesión. –

+0

No se puede, no quieren que el usuario inicie sesión automáticamente, solo quieren establecer el campo usernamd/password. – ManiacPsycho

0

Puede establecer la caducidad de la cookie en 2 semanas para mantener al usuario conectado. Así es como la autenticación ASP.NET funciona con autenticación persistente. Recuerde actualizar la caducidad en cada solicitud.

2
Page_Load(...) 
{ 
    ... process cookie ... 
    if (cookie is good) Response.Redirect("content.aspx"); 
} 

Simplemente recuerde cerrar y eliminar cualquier actividad de la base de datos antes de redireccionar.

1

Ellos no quieren que el usuario se registra automáticamente en lo que quieren es el campo usernamd y contraseña precargada en.

Sé que es estúpido y lo mismo que te mantiene conectado, pero es su solicitud.

He mencionado que no es la mejor práctica de seguridad, pero no les importa.

sitios como myspace uso que, RCEst eYou ir a myspace.com y su usernamd y la contraseña son ya escrita.

+0

Por lo general, este tipo de comportamiento lo realiza el navegador web, no el sitio web. –

1

No recuerdo cualquier página web haciendo algo así como usted la describe, pero creo son los navegadores web que automáticamente llenan las contraseñas. Sé que esta no es una buena solución, pero lo que puede hacer es establecer el texto del cuadro de texto normal con estrellas o algo así en una página de inicio de sesión diferente si hay una cookie para autenticar al usuario. No necesita usar la contraseña del cuadro de texto para autenticar al usuario de todos modos.

1

Si el código del lado del servidor tiene acceso a su nombre de usuario y la contraseña de la cookie, a continuación, no puede su página rellenar los atributos de valor de los campos de formulario, así:

<input type="text" name="username" value="<%=decryptedUsername%>" /> 
<input type="password" value="<%=decryptedPassword%>" /> 

Por supuesto, esta es bastante seguro ya que está copiando la contraseña de los usuarios en texto plano (que es un gran no). Pero como dices, a tu cliente no le molestan las implicaciones de seguridad. Si lo están, SSL puede ayudar a mitigar este riesgo.

0

Thatz bastante sencillo, intente utilizar:

txtPass.Attributes [ "valor"] = "123456"; (muy probablemente en el controlador de eventos de carga de página)

donde txtPass es la identificación del cuadro de texto de la contraseña (en el modo de contraseña). y la contraseña que desea mostrar es 123456.

0

¿Es posible que el cuadro de texto tenga el tipo cambiado? Si es así, puede hacer que el cuadro de texto sea normal y oculto, luego ingrese la contraseña, luego cambie el tipo de cuadro de texto a tipo de contraseña, luego muéstrelo ...

Cuestiones relacionadas