Repositorio de Liberty[8.5.5.5 o posterior]

Filtros de autenticación

Puede utilizar el filtro de autenticación para determinar si algunas solicitudes de servlets HTTP son procesadas por ciertos proveedores.

El filtro de autenticación del servidor de perfiles Liberty utiliza los criterios de filtro que se han especificado en el elemento authFilter del archivo server.xml para determinar si algunas solicitudes de servlets HTTP son procesadas por ciertos proveedores como, por ejemplo, OpenID, OpenID Connect o SPNEGO, para la autenticación.

Si se cumplen todas las condiciones del elemento authFilter, la solicitud de servlet HTTP es procesada por el proveedor determinado que hace referencia a ese elemento authFilter. Si alguna de las condiciones del elemento authFilter no se cumple, la solicitud de servlet HTTP no es procesada por el proveedor.

Elementos soportados

El elemento authFilter da soporte a los siguientes elementos: userAgent, host, webApp, remoteAddress y requestUrl.

  • El elemento userAgent se compara con un valor de cabecera correspondiente que se extrae de la solicitud de servlet HTTP de entrada. El elemento userAgent se compara con la cabecera de solicitud HTTP "User-Agent", que identifica el software utilizado por la solicitud originadora. Para los navegadores de cliente web, este valor refleja el tipo de navegador que se utiliza para iniciar la solicitud (Internet Explorer, Firefox, Safari, etc.).
  • El elemento host se utiliza de forma parecida al elemento userAgent. El elemento host se compara con la cabecera de solicitud HTTP "Host", que identifica el nombre del host de destino de la solicitud.
  • El elemento webApp se utiliza para especificar la aplicación, o lista de aplicaciones, alojadas en el servidor de perfiles Liberty que está protegido por este filtro de autenticación.
  • El elemento remoteAddress se compara con la dirección TCP/IP remota de la aplicación cliente que ha enviado la petición HTTP. Puede configurar comodines para especificar subredes y rangos mediante los valores lessThan o greaterThan del atributo matchType, como se muestra en los ejemplos que figuran más adelante.
  • El elemento requestUrl se compara con el URL utilizado por la aplicación cliente para efectuar la solicitud. Se configuran patrones de URL únicos o listas de valores separados por barras verticales, como se muestra en los ejemplos que figuran más adelante.

Ejemplos de filtros de autenticación

En el ejemplo siguiente se muestra una configuración típica de un filtro de autenticación. Aquí, el servicio configurado para utilizar este filtro procesa cualquier solicitud de entrada con un URL de solicitud que contenga "/SimpleServlet".

<authFilter id="myAuthFilter">
         <requestUrl id="myRequestUrl" urlPattern="/SimpleServlet" matchType="contains"/>
</authFilter>

En el ejemplo siguiente, se especifica una lista de patrones de URL separados por barras verticales. Para procesar una solicitud entrante con el servicio configurado para utilizar este filtro, el URL de solicitud entrante debe contener "/SimpleServlet", "/EmployeeRoleServlet" o "/AllRoleServlet".

<authFilter id="myAuthFilter">
         <requestUrl id="myURL" urlPattern="/SimpleServlet|/EmployeeRoleServlet|/AllRoleServlet" matchType="contains" />
</authFilter>

En el ejemplo siguiente, se especifica un nombre de aplicación web en el filtro de autenticación. Las solicitudes entrantes deben destinar la aplicación "myApp" para que la procese el servicio configurado para utilizar este filtro.

<authFilter id="myAuthFilter">
         <webApp id="myWebApp" name="myApp" matchType="contains"/>
</authFilter>

En el ejemplo siguiente, se especifica una lista de aplicaciones web separadas por barras verticales. Para procesar una solicitud entrante con el servicio configurado para utilizar este filtro, la solicitud entrante debe destinar cualquiera de las aplicaciones "myApp1", "myApp2" o "myApp3".

<authFilter id="myAuthFilter">
         <webApp id="myWebApp" name="myApp1|myApp2|myApp3" matchType="contains"/>
</authFilter>

En el ejemplo siguiente se muestra cómo utilizar comodines en el elemento remoteAddress. Con esta configuración, el servicio que se ha configurado para utilizar este filtro procesa la solicitud entrante si ésta procede de una dirección IP del rango 127.0.0.*.

<authFilter id="myAuthFilter">
         <remoteAddress id="myRemoteAddress" ip="127.0.0.*" matchType="equals"/>
</authFilter>

En el ejemplo siguiente se muestra cómo utilizar una lista de valores separados por barras verticales en el elemento requestUrl. La coincidencia de cualquiera de los patrones de la lista es suficiente para satisfacer los requisitos de ese elemento concreto. En este ejemplo, el URL de la solicitud debe contener "/SimpleServlet", "/EmployeeRoleServlet" o "/AllRoleServlet". Además, el URL de solicitud no debe contener "/ManagerRoleServlet" y la solicitud debe provenir de un agente de usuario de Internet Explorer.

<authFilter id="myAuthFilter">
         <requestUrl id="myURL1" urlPattern="/SimpleServlet|/EmployeeRoleServlet|/AllRoleServlet" matchType="contains" />
         <requestUrl id="myURL2" urlPattern="/ManagerRoleServlet" matchType="notContain" />
         <userAgent id="myAgent" agent="IE" matchType="contains" />
</authFilter>
Para procesar una solicitud entrante con el servicio configurado para utilizar este filtro, la solicitud debe cumplir las condiciones siguientes:
  • Contener el patrón "/SimpleServlet" en el URL de solicitud
  • Estar destinada a un dominio que contenga "host.example.com"
  • Proceder de la dirección IP 127.0.0.1
  • Proceder de un navegador Firefox
  • El nombre de la aplicación de destino es myApp
<authFilter id="myAuthFilter">
         <requestUrl id="myRequestUrl" urlPattern="/SimpleServlet" matchType="contains"/>
         <host id="myHost" name="host.example.com" matchType="contains"/>
         <remoteAddress id="myAddress" ip="127.0.0.1" matchType="equals" />
         <userAgent id="myUserAgent" agent="Firefox" matchType="equals"/>
         <webApp id="myWebApp" name="myApp" matchType="contains"/>
</authFilter>

Icono que indica el tipo de tema Tema de referencia

Términos y condiciones para centros de información | Comentarios


Icono de indicación de fecha y hora Última actualización: 15 de junio de 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=rwlp_auth_filter
Nombre de archivo:rwlp_auth_filter.html