validar usuario sistema sencillo hacer formulario contraseña con como administrador jquery html5 web-applications local-storage web-sql

jquery - sistema - ¿Cómo hacer que el usuario inicie sesión para una aplicación web sin conexión?



sistema de login php (2)

Estoy construyendo una aplicación web sin conexión dirigida a iPhone y otros dispositivos móviles. ¿Hay alguna manera de que podamos mantener la autenticación del usuario guardada usando el almacenamiento local de WebSql?

Entonces, cuando abre la aplicación web mientras está fuera de línea, quiero que cualquiera de los usuarios inicie sesión ya o que el usuario pueda iniciar sesión.


Si entiendo la pregunta correctamente, esta es la forma en que puede hacerlo:

Al iniciar sesión (en línea):

  • Autentíquese contra el servidor, si es correcto, almacene el nombre de usuario y una contraseña hash (por ejemplo, usando Crypto JS ) en la base de datos WebSql.
  • Si la cuenta ya existe en la base de datos local, genere un nuevo hash de todos modos en caso de que el usuario haya cambiado su contraseña desde el último inicio de sesión.

Al iniciar sesión (fuera de línea):

  • Autenticar contra la base de datos local.

Esto, por supuesto, requerirá que los usuarios inicien sesión usando la versión en línea al menos una vez antes de iniciar sesión localmente. Así es como, por ejemplo, Windows 8 lo hace cuando alguien intenta iniciar sesión en su cuenta de Microsoft mientras está desconectado.


No sé cómo almacenar o usar datos de estado del cliente ( llavero en iOS también en Android ), pero para la perspectiva de la aplicación web, no tienes que hacer nada. No tiene que hacer nada porque, si puede, no es seguro. Después de iniciar sesión, el servidor configurará solo la cookie HTTP que se publicará durante algunos días o semanas. Durante este tiempo, la solicitud con credenciales al servidor siempre es autenticada por el navegador. Puede solicitar un correo electrónico de inicio de sesión o lo que sea desde el servidor. Para fines de seguridad adicional, el servidor puede solicitar un token XSRF . En ese caso, guárdelo en localStorage. Perder esta ficha no significa mucho.

Esta es la forma más segura y también la utilizan los clientes móviles, incluida la banca por Internet a través de WebView. Usar el navegador para la autenticación es más seguro y fácil porque hay muchos puntos débiles, como el almacenamiento de credenciales, la verificación de certificados SSL correctos, el cifrado, etc. Con la vista web, el navegador se encarga de todo.

Si está interesado en cómo son estos códigos de servidor, tuve una explicación con el código de servidor de autenticación de dominio cruzado Appengine .