6

En una aplicación web ASP.NET, utilizando la Autenticación de Windows integrada, ¿la sesión está vinculada a la identidad de Windows?
En otras palabras, si inicio sesión (usando IWA) en la aplicación, y la aplicación almacena algunas "cosas" en mi sesión, ¿esto es accesible solo por la identificación de la sesión? Por ejemplo, si alguien malintencionado logró robar mi ID de sesión, pero NO mis credenciales, ¿puede acceder a mis sesiones? ¿O esta sesión solo está disponible para la misma identidad, que requiere tanto la identificación de la sesión Y la identidad de Windows para acceder a ella?Gestión de sesiones con autenticación de Windows

Respuesta

4

Excelente pregunta. Acabo de ejecutar una prueba para confirmar antes de escribir esta respuesta.

Si yo soy 'Persona A', y usted es 'la persona B', entonces esto es lo que tiene que suceder:

  • registros de la persona A en el sitio web utilizando AIT, se le asigna un identificador de sesión (por ejemplo, en la url)
  • persona B también se registra en el sitio web como a sí mismos (por lo que tienen que ser autenticado)
  • persona a envía la persona B un enlace URL que contiene un identificador de sesión
  • clics Persona B en ese enlace, son llevados directamente al sitio web, usando los detalles de la sesión de la Persona A

Tenga en cuenta que la persona B sigue siendo reconocida como 'Persona B' por el sitio web, aunque están utilizando los detalles de la sesión de la Persona A. Por lo tanto, si tiene un código que verifica los permisos de usuario, etc., esos controles todavía se realizan en el contexto de la Persona B.

Esto podría parecer un gran problema, pero no es tan largo como los programadores no son descuidados . Por ejemplo, el único efecto que recibió la persona B en mi prueba anterior fue que heredaron la pantalla y los diseños de cuadrícula que la persona A había configurado, porque hacemos nuestras verificaciones de permisos en vivo (es decir, no están en la memoria caché). Si almacena datos confidenciales en la sesión, entonces podría ser un problema, pero solo es un problema si los campos que lo muestran no son permisos marcados cada vez que se muestran. También es solo un problema si la sesión para la Persona A no ha expirado.

+0

Buen ejemplo de un escenario más "inocente" :). Entonces, ¿estás diciendo que la sesión y la autenticación no tienen nada que ver el uno con el otro? Eso es extraño ... Y en realidad es bastante común almacenar roles, o algún otro token de autorización, en la sesión, lo que haría que este tema sea crítico en este escenario. Gracias. – AviD

Cuestiones relacionadas