CXF 密码权限控制 SOAP报头处理
前一段时间写了一篇CXF密码验证_服务端和客户端配置
?
当时没有系统的讲解:
个人认为CXF认证方式很多.一种就像上一篇文章写的是直接对传送的数据包进行密码封装!
另一种就是现在要介绍的是另外一种.对SOAP头处理..把需要验证的密码封装在SOAP头里传送!
可能表达不是很清楚..看代码吧:
1:服务端spring里的配置:
这个里面是有注释的..区别上一个密码验证的示例!
关键代码就有一句:?<bean factory-bean="client" factory-method="create"/> <bean id="client" > <property name="address" value="http://127.0.0.1:88/Hello/web/web"></property> <property name="serviceClass" value="org.web.HelloService"></property> <property name="outInterceptors"> <list><bean /> <!--<bean /> --> <bean value="UsernameToken" /> <entry key="passwordType" value="PasswordText" /> <entry key="user" value="cxfClient" /> <entry key="passwordCallbackRef"> <ref bean="clientPasswordCallback" /> </entry> </map> </constructor-arg> </bean> --> </list></property> </bean>
?PS:注意注释>...重点是:
<p>还有就是<a href="http://fusesource.com">FuseSource</a> 也有<a href="http://fusesource.com/documentation/fuse-service-framework-documentation/">Cxf的文档</a>, Fuse Services Framework就是基于<a href="http://cxf.apache.org">Apache Cxf.</a></p><p>?</p>
<p>Freeman<br><br>------------------------<br><a href="http://fusesource.com">FuseSource</a>: http://fusesource.com<br><a href="http://servicemix.apache.org">Apache Servicemix</a>:http://servicemix.apache.org<br><a href="http://cxf.apache.org">Apache Cxf</a>: http://cxf.apache.org<br><a href="http://karaf.apache.org/">Apache Karaf</a>: http://karaf.apache.org<br><a href="http://felix.apache.org/">Apache Felix</a>: http://felix.apache.org<br></p>
现在我要访问https对应的端点,迁扯到证书方面的问题,请问下,我应怎么去做呢, 8 楼 dlut_chen 2011-05-24 如果你的data有安全性要求,只用WS-SECURITY是无法满足的,SSL是比较简单安全的方法。我个人不建议走WS_*路线。
Web services的设计思想是无状态的,所以是没有session这个概念的,当然你可以自己实现security token 来代替 hashed password
Http Basic Auth+SSL从安全性看问题不大,但是不是一个好的设计模式对externel webservice,在WS-SECURITY中timestamp是用来做避免重访攻击的。