1:spring服务端的配置
- <bean id="Customer" class="org.web.HelloServiceImpl"></bean>
- <jaxws:endpoint id="custom" implementor="#Customer" address="/web" >
- <jaxws:inInterceptors>
- <bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
- <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
- <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
- <constructor-arg>
- <map>
- <entry key="action" value="UsernameToken" />
- <entry key="passwordType"
- value="PasswordText" />
- <entry key="user" value="cxfServer" />
- <entry key="passwordCallbackRef">
- <ref bean="serverPasswordCallback" />
- </entry>
- </map>
- </constructor-arg>
- </bean>
- </jaxws:inInterceptors>
-
- </jaxws:endpoint>
- <bean id="serverPasswordCallback" class="org.web.ServerPasswordCallback" />
action:UsernameToken
是使用用户令牌
passwordType:PasswordText
是指密码加密策略.这里是直接密码文本.
user:cxfServer
是指别名
passwordCallbackRef:serverPasswordCallback
是这密码验证..类..就是下面配置的..
2: 类:serverPasswordCallback
- import javax.security.auth.callback.Callback;
- import javax.security.auth.callback.CallbackHandler;
- import javax.security.auth.callback.UnsupportedCallbackException;
- import org.apache.ws.security.WSPasswordCallback;
-
-
- public class ServerPasswordCallback implements CallbackHandler {
-
- public void handle(Callback[] callbacks) throws IOException,
- UnsupportedCallbackException {
- WSPasswordCallback pc=(WSPasswordCallback) callbacks[0];
- String pw=pc.getPassword();
- String idf=pc.getIdentifier();
- System.out.println("密码是:"+pw);
- System.out.println("类型是:"+idf);
- if(pw.equals("wdwsb")&&idf.equals("admin")){
- System.out.println("成功");
- }
- else{
- throw new SecurityException("验证失败");
- }
- }
这个不用多说..就是密码验证..很简单!!
3:spring客户端的配置:
- <bean id="webTest" class="org.web.HelloService" factory-bean="client" factory-method="create"/>
- <bean id="client" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean" >
- <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 class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
- <bean class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" />
- <bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
- <constructor-arg>
- <map>
- <entry key="action" 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>
- <bean id="clientPasswordCallback" class="org.web.clientPasswordCallback"></bean>
跟server的配置差不多..没多少要讲的.呵呵...
4: 类clientPasswordCallback的配置
- import javax.security.auth.callback.Callback;
- import javax.security.auth.callback.CallbackHandler;
- import javax.security.auth.callback.UnsupportedCallbackException;
- import org.apache.ws.security.WSPasswordCallback;
-
- public class clientPasswordCallback implements CallbackHandler {
-
- public void handle(Callback[] callbacks) throws IOException,
- UnsupportedCallbackException {
- for(int i=0;i<callbacks.length;i++){
- WSPasswordCallback ps=(WSPasswordCallback) callbacks[i];
- ps.setPassword("wdwsb");
- ps.setIdentifier("admin");
- }
- }
到此为止..密码认证用户令牌就完成了...
测试!
通过!
当然我前面写的一篇文章是最基本的.缺少了一些jar包.会报错的.
所以要加上以下jar包..
转自:http://blog.csdn.net/keeyce/article/details/7090753
分享到:
相关推荐
CXF webService 工具类
CXF webservice,mybatis持久层框架,增删改查实例;完整jar包;
cxf WebService jar包
使用jdk1.6、cxf2.3和tomcat开发的一个关于验证码的webservice接口,主要实现对手机验证码的验证。
Web Service学习-CXF开发Web Service的权限控制(二)
maven项目 cxf webservice mongodb mysql 公司真实现目初期实现
实战Web+Service+with+CXF webservice快速入门 webservice快速入门
mybatis+spring+cxf webservice服务 项目框架代码例子,绝对是可以参考的,信不信,只有下载之后才知道
cxf与spring整合,以及webservice传输验证demo
1. 发布和调用WebService: 使用CXF2.4(http://cxf.apache.org)和spring 2. 调用安全性: 使用简单的USERNAME_TOKEN 3. 服务程序中取得调用者身份 ------------------------- 接口 ------------------------- intf....
使用 CXF 做 webservice 简单例子,用的是cxf-2.1.3.jar
使用cxf webservice时容易出现的异常
CXF WebService整合Spring代码(包含服务,客户端两个工程 和 文档) 需要视频的话,留邮箱
现在主流的webService框架,一个是axis2,一个是cxf,本资源是基于cxf框架的简单例子
SSH整合cxf webservice实例
cxf webService
webservice示例 springmvc+maven+cxf发布webservice 博客地址 http://blog.csdn.net/joe_storm/article/details/78839150
2.用cxf开发webservice 3.这个服务端和客户端的小demo 在服务端 对外开放接口服务,然后在客户端 调用服务端的方法, 实现客户端(一个javaweb项目)对服务端(javaweb项目)方法的调用, 实际上就是发送和接收消息...
cxf WebService jar包
一、CXF WebService准备工作 二、CXF 入门示例 三、CXF对Interceptor拦截器的支持 四、CXF WebService中传递复杂类型对象 五、CXF整合Spring