Configuración del soporte Java Servlet 3.1 para la seguridad
Liberty da soporte a todas las actualizaciones de seguridad tal como se definen en la especificación Java™ Servlet 3.1.
Acerca de esta tarea
Aproveche las características Java Servlet 3.1 en Liberty.
Procedimiento
- Añada la característica servlet-3.1 en archivo
server.xml:
<feature>servlet-3.1</feature>
- Determine cuáles de las siguientes funciones Java Servlet 3.1 desea utilizar:
- Especifique autocomplete=off en el formulario de inicio de
sesión.Cuando utilice HTML para una página de inicio de sesión de formulario, establezca el campo de formulario de contraseña en autocomplete="off" para inhabilitar el rellenado automático de contraseñas en el navegador web. Por ejemplo:
<form method="POST" action="j_security_check"> <input type="text" name="j_username"> <input type="password" name="j_password" autocomplete="off"> </form>
- Especifique la restricción de seguridad Todos los autenticados (**).El nombre de rol especial ** indica cualquier usuario autenticado. Cuando aparece ** en una restricción de autorización, si el usuario no está autenticado, tiene acceso a los métodos que se especifican en la restricción. Los usuarios no tienen que estar correlacionados con este rol en los enlaces de aplicación. Por ejemplo:
<security-constraint id="SecurityConstraint_1"> <web-resource-collection id="WebResourceCollection_1"> <web-resource-name>Protected with ** role</web-resource-name> <url-pattern>/AnyAuthSecurityConstraint</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint id="AuthConstraint_1"> <role-name>**</role-name> </auth-constraint> </security-constraint>
Cuando se invoca el método isUserInRole() con un nombre de rol **, isUserInRole() devuelve true si el usuario está autenticado. Si ** es un rol definido en la configuración en un rol de seguridad, no se trata como el rol de usuario especial Todos los autenticados. El usuario debe estar correlacionado con ese rol en los enlaces de aplicación para que isUserInRole devuelva true.
- Especifique el distintivo deny-uncovered-http-methods en los
archivos web.xml.Si se especifica el elemento deny-uncovered-http-methods en el archivo web.xml, el contenedor deniega cualquier método HTTP descubierto que no esté enumerado en la restricción de seguridad combinada para un patrón de URL que es la mejor coincidencia para el URL de solicitud. Se devuelve un código de estado 403 (SC_FORBIDDEN). Por ejemplo:
<servlet-mapping id="ServletMapping_1"> <servlet-name>MyServlet</servlet-name> <url-pattern>/MyURLPattern</url-pattern> </servlet-mapping> <deny-uncovered-http-methods/> <!-- SECURITY CONSTRAINTS --> <security-constraint id="SecurityConstraint_1"> <web-resource-collection id="WebResourceCollection_1"> <web-resource-name>Protected with Employee or Manager roles</web-resource-name> <url-pattern>/MyURLPattern</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint id="AuthConstraint_1"> <role-name>Employee</role-name> <role-name>Manager</role-name> </auth-constraint> </security-constraint>
Si se especifica el elemento deny-uncovered-http-methods en el archivo web.xml, se registra un mensaje en el archivo messages.log para cada patrón de URL en cada servlet, y los métodos descubiertos se marcan con una nota que indica que esos métodos descubiertos no están protegidos y no se puede acceder a ellos. Por ejemplo:For URL MyURLPattern in servlet MyServlet, the following HTTP methods are uncovered, and not accessible: DELETE OPTIONS HEAD PUT TRACE
Si no se especifica el elemento deny-uncovered-http-methods en el archivo web.xml, se registra un mensaje en el archivo messages.log para cada patrón de URL en cada servlet, y los métodos descubiertos se marcan con una nota que indica que esos métodos descubiertos no están protegidos y se puede acceder a ellos. Por ejemplo:For URL MyURLPattern in servlet MyServlet, the following HTTP methods are uncovered, and accessible: DELETE OPTIONS HEAD PUT TRACE
- Especifique autocomplete=off en el formulario de inicio de
sesión.
Resultados
Tema principal: Protección de Liberty y sus aplicaciones
Conceptos relacionados:
Información relacionada:

Nombre de archivo: twlp_servlet31.html