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
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.
- 1. Biblioteca básica de autenticación y gestión de sesiones para PHP
- 2. Gestión de sesiones de Squeryl con 'using'
- 3. NHibernate gestión de sesiones en aplicaciones de servicio de Windows
- 4. Gestión de sesiones con Java Hibernate
- 5. ¿Gestión de sesiones de NHibernate?
- 6. Gestión de sesiones/cookies en Apache JMeter
- 7. NHibernate.Burrow Para Gestión de Sesiones En NH3
- 8. NHibernate gestión de sesiones en ASP.NET MVC
- 9. Gestión de sesiones en Rails (2.3)
- 10. Gestión de sesiones con Hibernate en una aplicación Swing
- 11. JMeter con Autenticación de Windows?
- 12. Autenticación de formularios de mezcla con autenticación de Windows
- 13. ¿Puedo tener sesiones fijas con HAProxy y socket.io con autenticación?
- 14. Gestión de sesiones de Spring + Hibernate en varios subprocesos
- 15. ¿Qué es la gestión de sesiones en Java?
- 16. Sesiones WCF con un wsHttpBinding y sin seguridad de Windows
- 17. Autenticación de Windows integrada
- 18. autenticación de Windows vs autenticación de formularios
- 19. Usando la autenticación de Windows con php?
- 20. Usando el violín con Autenticación de Windows
- 21. Autenticación de Windows con ASP.NET MVC
- 22. Autenticación de Windows con Python y urllib2
- 23. Roles disponibles con Autenticación de Windows
- 24. Estrategia de gestión de sesiones de Nhibernate para aplicaciones web con trabajadores en segundo plano?
- 25. Sesiones WCF con HTTPS
- 26. ¿Usar cookies/sesiones para la autenticación de aplicaciones móviles?
- 27. Autenticación de Windows GINA personalizada
- 28. Autenticación básica de Windows Azure
- 29. Omitir la autenticación de Windows
- 30. Mono a SQL Server con Windows autenticación
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