I receive a lot of traffic to my post about HTTP Basic Authentication in Apache CXF. I decided to do a followup to that post to address some of the comments.
I have never tried to use this with Mule but if someone has, please let me know so I can update this post.
I have uploaded the Java code for the BasicAuthAuthorizationInterceptor class. There are a few changes over the original version. This one includes a Map of authorized users and their corresponding passwords. I believe the original example I created was for Apache CXF 2.0. This version works with Apache CXF 2.1.1.
In the original post, I also did not include a sample of how to use this code in a real application. The following section shows a sample of how to define the security interceptor and enable it on a simple endpoint.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <bean id="securityInterceptor" class="BasicAuthAuthorizationInterceptor"> <property name="users"> <map> <entry key="username" value="password"/> </map> </property> </bean> <bean id="service" class="sample.Service"/> <jaxws:endpoint id="serviceEndpoint" implementor="#service" address="${services.url}/Service"> <jaxws:inInterceptors> <ref bean="securityInterceptor"/> </jaxws:inInterceptors> </jaxws:endpoint> </beans>