domingo, 21 de noviembre de 2010

Autenticación en servicios web con CXF

En esta entrada voy a explicar los pasos necesarios para montar una capa de servicios web, en la que, para invocarlos, sea necesario enviar un usuario y contraseña en la cabecera de la petición (HTTP Basic Authentication).

Cómo ahora en el trabajo estoy utilizando Apache CXF, me voy centrar en este framework.

Lo primero de todo es incluir dentro de nuestro proyecto la siguiente clase: BasicAuthAuthorizationInterceptor.

Una vez tengamos la clase dentro de nuestro classpath, creamos un bean de spring sobre ella:











Como podemos apreciar, este bean esta pensado para que se le inyecte en la propiedad "users" un listado de todos los usuarios/contraseñas a los que se les permitirá invocar a los servicios web. Este comportamiento puede ser modificado muy fácilmente para que los usuarios y contraseñas que utilice no sean estos, sino que se obtengan de una base de datos o de algún fichero de propiedades.

Una vez que tenemos creado el interceptor, lo aplicamos a los endpoints de CXF que deseemos.


id="serviceEndpoint"
implementor="#service"
address="/ws/Service">







Y con esto ya está funcionando la validación en la capa de servicios web. Muy fácil de configurar :-)

Toda esta información la he sacado del siguiente enlace.

No hay comentarios:

Publicar un comentario