Soporte de Java Servlet 3.0 para seguridad

Este release de WebSphere Application Server admite todas las actualizaciones de seguridad que se definen en la especificación Java™ Servlet 3.0.

Este release de WebSphere Application Server admite todas las actualizaciones de seguridad tal como se define en la especificación Java Servlet 3.0 (JSR-315), incluido el nuevo servlet de seguridad anotaciones, el uso de la nueva API de seguridad programada y la actualización dinámica de la configuración de seguridad de servlet.

Una mejora significativa es el nuevo soporte de anotación para servlets. Un desarrollador puede declarar las restricciones de seguridad mediante anotaciones como alternativa a declararlas como parte del archivo web.xml, que se utiliza antes de Java Servlet 3.0. El archivo web.xml continúa funcionando y altera temporalmente los conflictos definidos como anotaciones.

La lista de actualizaciones de Java Servlet 3.0 soportadas para seguridad incluye lo siguiente:
  • Soporte de la anotación de @ServletSecurity
  • Soporte de la actualización dinámica de las anotaciones de seguridad de servlet @RunAs, @declareRoles y @ServletSecurity.
  • Soporte de los métodos de autenticación, inicio de sesión y fin de sesión de la seguridad de servlet.
  • La nueva propiedad com.ibm.websphere.security.displayRealm especifica si la ventana de inicio de sesión de autenticación básica HTTP muestra el nombre de reino que no está definido en el archivo web.xml de la aplicación.

A continuación se describen más detalladamente las actualizaciones de Java Servlet 3.0 para la seguridad:

Soporte para la anotación @ServletSecurity:

Cuando se despliega una aplicación, la implementación de ServletSecurity MergeAction encuentra todos los servlets con la anotación ServletSecurity. Para cada servlet anotado, encuentra el servlet asociado con la clase en cuestión basada en la anotación WebServlet. Si RolesAllowed en la anotación ServletSecurity no se encuentra en el descriptor de despliegue, a continuación, crea un atributo role-name para el rol en el descriptor de despliegue.

Cuando una aplicación se inicia, el WebContainer inspecciona todos los servlets con las anotaciones RunAs, declareRoles y ServletSecurity y establece estas anotaciones en el método setServletSecurity() de la anotación ServletRegistration. El contenedor notifica el componente de seguridad para inspeccionar todas las anotaciones ServletRegistration que tienen patrones de URL y restricciones de seguridad. A continuación, el componente de seguridad determina si hay un patrón de URL definido en el descriptor de despliegue. Si no se ha definido ninguno en el descriptor de despliegue, se crean y se utilizan las restricciones de seguridad y el rol RunAs del patrón de URL. Si ya hay una coincidencia exacta definida en el descriptor de despliegue, se utilizan las restricciones de seguridad y el rol RunAs del patrón de URL del descriptor de despliegue en lugar de los datos de la anotación.

Lea el tema Anotaciones de seguridad para obtener más información.

Soporte para la actualización dinámica de las anotaciones de seguridad de servlet @RunAs, @declareRoles y @ServletSecurity:

Cuando se inicia una aplicación, el contenedor web inspecciona todos los servlets con las anotaciones RunAs, declareRoles y ServletSecurity y establece estas anotaciones en el método setServletSecurity() de la anotación ServletRegistration. El contenedor web notifica el componente de seguridad para inspeccionar todas las anotaciones ServletRegistration que tienen patrones de URL y restricciones de seguridad. A continuación, el componente de seguridad determina si hay un patrón de URL definido en el descriptor de despliegue. Si ya hay una coincidencia exacta definida en el descriptor de despliegue, se utilizan las restricciones de seguridad y el rol RunAs del patrón de URL del descriptor de despliegue en lugar de los datos dinámicos.

Lea el tema Anotaciones dinámicas de seguridad del servlet para obtener más información.

Nota: WebSphere Application Server da soporte a un proveedor de autorización por omisión y a un proveedor de autorización basado en la especificación JACC (Java Authorization Contract for Containers). El proveedor de autorización basado en JACC, (por ejemplo, Tivoli Access Manager), permite a los proveedores de seguridad de terceros que manejen la autorización Java EE. Las anotaciones RunAs, declareRoles, y ServletSecurity están soportadas para la autorización nativa y para JACC.

Soporte para los métodos de seguridad de servlet authenticate, login y logout:

El método authenticate autentica un usuario mediante el mecanismo de inicio de sesión de contenedor de WebSphere Application Server configurado para el contexto de servlet.

El método login autentica un usuario en WebSphere Application Server con un ID de usuario y una contraseña. Si la autenticación es satisfactoria, se crea un sujeto de usuario en la hebra y cookies LTPA (Lightweight Third Party Authentication) (si el inicio de sesión único (SSO) está habilitado).

El método logout finaliza la sesión del usuario en WebSphere Application Server e invalida la sesión HTTP.

Lea el tema Métodos de seguridad de servlet para obtener más información.

La nueva propiedad com.ibm.websphere.security.displayRealm especifica si la ventana de inicio de sesión de autenticación básica HTTP muestra el nombre de reino que se define en el archivo web.xml de la aplicación:

Si el nombre de reino no está definido en el archivo web.xml, sucede una de las situaciones siguientes:
  • Si la propiedad se establece en false (el valor predeterminado), la de visualización del nombre de reino de WebSphere es la del reino predeterminado.
  • Si esta propiedad se establece en true, el nombre de visualización del reino de WebSphere es el nombre de reino del registro de usuarios en el caso del mecanismo de autenticación LTPA o el nombre de dominio Kerberos en el caso del mecanismo de autenticación Kerberos.

Consulte el tema sobre Propiedades personalizadas de seguridad para obtener más información.


Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_servlet30_intro
File name: csec_servlet30_intro.html