Tengo una pregunta. Un cliente que he estado haciendo un poco de trabajo recientemente tiene una gama de sitios web con diferentes mecanismos de inicio de sesión. Está buscando migrar lentamente a un único inicio de sesión mecanismo para sus sitios web (todo escrito en asp.net mvc
).Múltiples sitios web, diseño de inicio de sesión único
Estoy buscando en mis opciones aquí, asi que aquí hay una lista de requisitos:
- Tiene que ser seguro (la)
- que necesita para apoyar las propiedades de usuario adicionales más allá del nombre usual , dirección de cosas (como dinero o créditos para un usuario)
- Tiene que proporcionar una consola web de administración de usuarios centralizada para su conveniencia (entiendo que este será un pequeño proyecto además de cualquier solución de diseño que elija para ir a)
- Tiene que integrarse con el w existente ebsites sin reingeniería de todo el producto (entiendo que esto depende de la implementación actual del producto).
- Tiene que tratar con el envío de correos electrónicos al usuario cuando se registra (para activar su cuenta)
- Tiene que ver con activar al usuario cuando hace clic en el enlace activarme en el correo electrónico (entiendo que 5 y 6 requieren algún tipo de sistema de plantillas de correo electrónico para soportar diferentes correos electrónicos por aplicación)
estaba pensando en la creación de una biblioteca de trabajo junto con la autenticación de formularios que expone todos los métodos necesarios (por ejemplo, conexión, desconexión, activar, etc. y un pequeño y tranquilo servicio para implementar la activación desde el correo electrónico, el proceso de registro, etc.
Teniendo en cuenta que se han dejado muchas cosas para hacer que esta pregunta sea breve y al grano, ¿suena como un buen diseño?
Pero esto parece ser un problema muy común, ¿no hay ningún proyecto existente que pueda utilizar?
Gracias por leer.
Lo hicimos a través de un guid y la base de datos tiene una tabla de "autologin" con un tiempo de caducidad de 3 minutos. Esto supone que todo el sitio puede acceder a una única base de datos compartida. – dvallejo
Utilicé este enfoque como fuente de inspiración y creé un servicio de inicio de sesión único que utiliza tokens para garantizar que la solicitud no haya sido alterada. no necesita la clave del equipo ya que el usuario se reenvía (en términos reales o transparentes) en un servicio de inicio de sesión y cuando se autentica exitosamente regresa a la URL de retorno que recibe un token cifrado y le pide al servicio de inicio de sesión que lo desencripte. si tiene éxito, la información del usuario se almacena en la sesión (o se utilizan cookies o cualquier mecanismo de almacenamiento) – Yannis