Configuración del soporte de seguridad de Java Servlet 3.1
WebSphere Application Server tradicional admite todas las actualizaciones de seguridad que se definen en la especificación Java™ Servlet 3.1.
Acerca de esta tarea
Aproveche las características de Java Servlet 3.1 en WebSphere Application Server tradicional.
Procedimiento
- Añada la característica servlet-3.1 en el archivo
server.xml:
<feature>servlet-3.1</feature>
- Determine cuál de las siguientes funciones de 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 especial Cualquier usuario autenticado. 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:Para el URL MyURLPattern en el servlet MyServlet, se descubren los siguientes métodos HTTP y no están accesibles: 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:Para el URL MyURLPattern en el servlet MyServlet, se descubren los siguientes métodos HTTP y están accesibles: DELETE OPTIONS HEAD PUT TRACE
- Especifique autocomplete=off en el formulario de inicio de
sesión.
Resultados
Información relacionada:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_servlet31
File name: tsec_servlet31.html