Puede proteger el recurso JAX-RS 2.0 mediante la seguridad de la capa de transporte SSL (Secure Sockets Layer).
Antes de empezar
En esta tarea se presupone que ha llevado a cabo los pasos siguientes:
Acerca de esta tarea
Esta tarea le indica cómo proteger el extremo de su servidor JAX-RS 2.0 configurando el archivo web.xml.
Procedimiento
- Habilite la seguridad administrativa y la seguridad de aplicaciones en la consola administrativa de WebSphere Application Server tradicional.
Vaya a Seguridad-> Seguridad global. En el panel Seguridad global, seleccione el recuadro Habilite la seguridad administrativa bajo el campo Seguridad administrativa y el campo Habilitar seguridad de aplicaciones bajo el campo Seguridad de aplicaciones.
- Desarrolle sus aplicaciones web JAX-RS 2.0.
- Configure el archivo web.xml.
Para proteger el recurso JAX-RS, añada el subelemento transport-guarantee bajo el elemento user-data-constraint en el archivo web.xml y establezca su valor en CONFIDENTIAL. Consulte el siguiente ejemplo como referencia:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee web-app_3_0.xsd"
version="3.0">
<display-name>Security Test Application</display-name>
<description>Server-side application for Security Tests</description>
<servlet>
<servlet-name>com.ibm.ws.jaxrs.security.ssl.SSLApplication
</servlet-name>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>com.ibm.ws.jaxrs.security.ssl.SSLApplication
</servlet-name>
<url-pattern>/ssltest/*</url-pattern>
</servlet-mapping>
<security-constraint id="SecurityConstraint_1">
<web-resource-collection id="WebResourceCollection_1">
<web-resource-name>com.ibm.ws.jaxrs.security.ssl.SSLApplication
</web-resource-name>
<description>Protection area for Rest Servlet</description>
<url-pattern>/ssltest/ssl/get</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>test</realm-name>
</login-config>
<security-role id="SecurityRole_1">
<description>blabla</description>
<role-name>Role1</role-name>
</security-role>
<security-role id="SecurityRole_2">
<role-name>Role2</role-name>
</security-role>
<security-role id="SecurityRole_3">
<role-name>AuthenticationRole</role-name>
</security-role>
</web-app>
Resultados
Puede invocar ahora el recurso cifrado.