Después de buscar mucho no obtuve ninguna respuesta y finalmente tuve que volver a contactarlo. A continuación estoy explicando mi problema en detalle. Es demasiado largo, así que por favor no dejes de leer. He explicado mi problema en un lenguaje simple.ASP.NET MVC RememberMe
He estado desarrollando un proyecto asp.net mvc. Estoy usando roles y membresía estándar de ASP.NET. Todo funciona bien, pero la funcionalidad para recordarme no funciona en absoluto. Estoy enumerando todos los detalles del trabajo. Espero que puedan ayudarme a resolver este problema.
Simplemente necesito esto:
necesito de usuario para iniciar sesión en la aplicación web. Durante el inicio de sesión, pueden iniciar sesión con recordarme o sin él. Si el usuario inicia sesión con recordarme, quiero que el navegador los recuerde durante mucho tiempo, digamos al menos un año o mucho tiempo. La forma en que lo hacen en www.dotnetspider.com, www.codeproject.com, www.daniweb.com y muchos otros sitios. Si el usuario inicia sesión sin recordarme, el navegador debe permitir el acceso al sitio web durante unos 20 -30 minutos y luego su sesión expirará. Su sesión también debe caducar cuando el usuario inicia sesión y cierra el navegador sin cerrar la sesión.
Nota: Implementé con éxito la funcionalidad anterior sin utilizar los roles y la membresía de asp.net estándar creando mis propios talbes para el usuario y autenticando en mi tabla de base de datos, estableciendo cookies y sesiones en mis otros proyectos. Pero para este proyecto, desde el principio usamos roles y membresía estándar de asp.net. Pensamos que funcionaría y que, una vez que todo se construyó en el momento de la prueba, simplemente no funcionó. y ahora no podemos reemplazar la funcionalidad existente con los roles y la membresía de asp.net estándar con mis propias tablas de usuario personalizadas y todas las cosas, usted entiende de lo que estoy hablando.
O hay algún tipo de error con los roles de asp.net estándar y la funcionalidad de membresía, o tengo todo el concepto de roles de asp.net estándar y membresía incorrecta. He declarado lo que quiero arriba. Creo que es muy simple y razonable.
lo que hice
- formulario de acceso con nombre de usuario, contraseña y me recuerdo campo.
- Mi configuración en web.config:
autenticación
< mode = "Forms" >
< formas loginUrl = "~/Cuenta/inicio de sesión" timeout = "2880"/>
</autenticación > en Mi acción del controlador, tengo esto:
FormsAuth.SignIn (userName, rememberMe);
public void SignIn (string userName, bool createPersistentCookie) { FormsAuthentication.SetAuthCookie (userName, createPersistentCookie); }
Ahora los problemas son los siguientes:
ya he dicho en la sección anterior "Simplemente necesito esto". usuario puede iniciar sesión correctamente en el sistema. Su sesión existe durante tantos minutos como se especifica en el valor de tiempo de espera en web.config. También he dado una muestra de mi web.config. En mi ejemplo, si configuro el tiempo de espera en 5 minutos, la sesión del usuario expira después de 5 minutos, está bien. Pero si el usuario cierra el navegador y vuelve a abrir el navegador, el usuario puede ingresar al sitio sin iniciar sesión hasta que el tiempo especificado en "tiempo de espera" no se haya agotado. La expiración deslizante para el valor de tiempo de espera también funciona bien. Ahora, si el usuario inicia sesión en el sistema con Remember me checked, la sesión del usuario aún expira después de 5 minutos. Esto no es un buen comportamiento, ¿verdad ?. Me refiero a decir que si el usuario inicia sesión en el sistema con recordarme revisado, debe recordarlo durante un tiempo prolongado hasta que no cierre sesión en el sistema o el usuario no elimine manualmente todas las cookies del navegador. Si el usuario inicia sesión en el sistema sin recordarme, su sesión caducará después de los valores del período de tiempo de espera especificados en web.config y también si los usuarios cierran el navegador. El problema es que si el usuario cierra el navegador y lo vuelve a abrir, aún puede ingresar al sitio web sin iniciar sesión.
Busco mucho en internet sobre este tema, pero no pude encontrar la solución. En la publicación del blog (http://weblogs.asp.net/scottgu/archive/2005/11/08/430011.aspx) hecha por Scott Gu sobre exactamente el mismo tema. Los usuarios se quejan de lo mismo en sus comentarios, pero no hay una solución fácil dada por el Sr. Scott.
lo leí en los lugares siguientes: http://weblogs.asp.net/scottgu/archive/2005/11/08/430011.aspx http://geekswithblogs.net/vivek/archive/2006/09/14/91191.aspx
supongo que esto es un problema de mucho de la de los usuarios. Como parece de la publicación del blog hecha por el Sr. Scott Gu.
Su ayuda será muy apreciada. Gracias de antemano.
Lo sentimos, tldr. :) – kervin
Tienes razón. Tu pregunta es demasiado larga. Deberías hacerlo más corto. –
Por cierto, es el Sr. Scott Guthrie alias The Gu. –