电竞

基于XFire实施WS-Security(第二部分)

2019-09-11 12:02:56来源:励志吧0次阅读

基于XFire实施WS-Security(第一部分)

使用用户名/密码进行身份认证

对SOAP报文进行身份认证的方式很多,不过都是通过在SOAP报文头中添加一些安全凭证(Security Token)信息来完成的,主要包括以下一些身份凭证:

用户名/密码; X.509 证书; Kerberos 票据和认证者; SIM 卡的移动设备安全性凭证。 其中用户名/密码是最简单的身份认证方式,它不需要密钥、数字证书,所以也就不需要CA,部署实施简单易行。下面我们就通过例子讲解如何进行基于用户名/密码的SOAP认证。这个实例让客户端提供用户名/密码,服务端验证客户端的身份,而客户端按正常方式接收SOAP响应报文。

服务端服务端创建一个applicationContext-ws-security.xml,让BbtForumService拥有用户名/密码的认证功能。

代码清单1 applicationContext-ws-security.xml:身份认证

<beans>

<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />

<bean id="baseWebService"class="org.codehaus.xfire.spring.remoting.XFireExporter"

lazy-init="false" abstract="true">

<property name="serviceFactory" ref="xfire.serviceFactory" />

<property name="xfire" ref="xfire" />

</bean>

<bean parent="baseWebService">

<property name="serviceBean" ref="bbtForum" />

<property name="serviceClass"

value="com.baobaotao.xfire.server.BbtForumService" />

<property name="name" value="BbtForumServiceUT"/>①Web Service名称

<property name="inHandlers">

<list>

<ref bean="domInHandler" />②负责将STAX流模型的SOAP转换为DOM模型

<ref bean="wss4jInHandler" />③对用户名/密码进行检查

</list>

</property>

</bean>

<bean id="domInHandler"class="org.codehaus.xfire.util.dom.DOMInHandler" />

<bean id="wss4jInHandler"class="org.codehaus.xfire.security.wss4j.WSS4JInHandler">

<property name="properties">

<props>

<prop key="action">UsernameToken</prop>④指定认证类型

<prop key="passwordCallbackClass">⑤指定一个密码回调实现类

com.baobaotao.xfire.wss4j.server.UtPasswordHandler

</prop>

</props>

</property>

</bean>

<bean id="bbtForum" class="com.baobaotao.service.BbtForum" />

</beans>

宝宝早上起床咳嗽什么原因
儿童抗病毒的药排名
丁桂薏芽健脾凝胶怎么样
热淋清颗粒的主要成分
分享到: