¿Cuál es la mejor manera de rastrear al usuario autenticado en el lado del servidor? [cerrado]

1

Para una aplicación web, el lado del cliente es javascript en el navegador. El lado del servidor es ASP.NET con una API REST. Actualmente, hay un solo servidor, pero planeamos escalarnos con un servidor en los EE. UU., Reino Unido y AUS (en Azure). Tendremos redis (pero eso no se sincroniza instantáneamente). Ellos (casi) siempre estarán usando SSL.

Cuando un usuario inicia sesión, nosotros lo autentificamos. Es fácil pasar la clave principal de ese registro de usuario en la base de datos y, en las llamadas posteriores, pasar esa PK para identificar al usuario. También es muy fácil personificar a cualquier usuario.

¿Cuál es la mejor manera de implementar esto? Las dos cosas que he pensado son:

  1. Devuelva un guid y solicite ese guid en todas las llamadas posteriores.
  2. Almacene el PK en los datos de la sesión en el lado del servidor y utilícelo para identificar al usuario en todas las llamadas subsiguientes.

Los dos anteriores funcionan si una sesión existente continúa yendo al mismo servidor (lo cual creo que sí) para cada solicitud posterior.

Entonces, ¿cuál es la mejor manera de hacer esto? Cualquiera de los dos anteriores? ¿O hay otro enfoque que sea mejor?

gracias - dave

    
pregunta David Thielen 20.01.2015 - 21:47
fuente

1 respuesta

0

En ASP.NET puede mantener la sesión en un almacén de datos en lugar de en la memoria, esto es útil para implementaciones con carga equilibrada. La sesión se puede mantener en SQL y también he encontrado un ejemplo del uso de Redis para almacenar para que la recuperación sea más rápida.

En su caso, usaría la autenticación ASP.NET y luego la sesión para conservar la clave principal que mencionó para reconocer al usuario.

    
respondido por el aviv 21.01.2015 - 10:57
fuente

Lea otras preguntas en las etiquetas