¿Cuál es la mejor forma (más segura) de implementar el manejo de sesión en un servidor web? Me gustaría agregar eso, pero no sé cómo implementarlo realmente. ¿Las cookies son "imprescindibles" para el manejo de la sesión? (Para poder identificar qué sesión)Implementando sesiones en un servidor web java?
Respuesta
El manejo de la sesión no es realmente su preocupación. Es manejado por la clase HttpSession
(lea la descripción en el javadoc!), Que puede obtener llamando al request.getSession()
.
Funciona de dos maneras (no hay necesidad de que hagas nada para apoyarlos):
- utilizando una cookie de sesión (si se permite que las cookies)
- utilizando la reescritura de URL - anexar el identificador de sesión (
JSESSIONID
) a la URL.
(Nota: en realidad es manejado por el contenedor de servlets (Tomcat, amarre, etc.), que proporciona una implementación de HttpSession
)
Suponiendo que usted está hablando de un contenedor de servlets, a continuación, manejo de sesión viene respaldado adentro. Vea el relevant part of if the JavaEE tutorial. Cubre la API de la sesión, así como el seguimiento de las sesiones (reescritura de cookies o URL).
El manejo de la sesión es manejado por el contenedor web. Si quiere seguridad de miradas indiscretas, use https (forzado en web.xml).
Lo que también le puede interesar, es cómo el usuario se identifica con el contenedor web. Existen varias opciones, donde la más segura es que el cliente use un navegador web con un certificado digital. Eso es bastante tedioso, pero muy seguro :)
- 1. Ejecutar Java en un servidor web
- 2. Implementando Polygon2D en Java 2D
- 3. implementando control de versión para desarrollo web
- 4. Implementando deshacer en una aplicación web
- 5. Un servidor web pequeño
- 6. El servidor web más pequeño de Java
- 7. Java SE - un pequeño programa de servidor web
- 8. Servidor web Java mínimo con soporte JSP
- 9. ¿Cómo imponer 'sesiones' en servicios web RESTful utilizando RESTlet?
- 10. ¿Cómo alojar un sitio web JSP en un servidor web?
- 11. Implementar el servicio web java sin usar el servidor web
- 12. Cómo usar el servidor http y el servidor de aplicaciones en una aplicación web java
- 13. Implementando el método equals en java
- 14. Implementando un LinkedHashMap concurrente
- 15. Escribir un servidor web simple en Ruby
- 16. Ejecutando dart en un servidor web
- 17. Matplotlib: gráfico interactivo en un servidor web
- 18. ejecutando gdb en un servidor web
- 19. Sesiones a prueba de balas para IIS Web Farm
- 20. Cómo proteger un servidor web DE un servidor proxy inverso
- 21. Implementando subcampos en un PropertyGrid
- 22. Implementando goto en un ast
- 23. servidor NFS en Java
- 24. Cómo contar sesiones en la aplicación de servidor asp.net
- 25. ¿Cómo ejecutar un programa Java en un servidor?
- 26. implementando un UITableView cíclico
- 27. Implementando IJavaObject en MonoDroid
- 28. ¿Implementando SSO en .NET Web Farm para varios sitios web de comercio electrónico con WIF?
- 29. Configurar SSL para trabajar con la aplicación web Java en el servidor Tomcat 5.5
- 30. Cómo almacenar un archivo en un servidor (contenedor web) a través de una aplicación web Java EE?
+1. Simplemente tome 'HttpSession' de la solicitud y use' get/setAttribute() 'para obtener/configurar cosas en el alcance de la sesión. Eso es realmente todo :) – BalusC
En realidad, nunca dijo que esté trabajando en un entorno de contenedor servlet. Entendí que él está escribiendo es propio servidor web. Podría estar equivocado sin embargo. – whiskeysierra
@Willi, entonces mi respuesta es nuevamente útil, porque he señalado las dos opciones que se utilizan. Pero eso debería haber sido realmente aclarado. – Bozho