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>
Comments