cxf用户令牌 WSPasswordCallback
来源:互联网 发布:java 多个文件打包zip 编辑:程序博客网 时间:2024/05/20 15:58
客户端
java
public class ClientAuthCallback implements CallbackHandler{public void handle(Callback[] callbacks) throws IOException,UnsupportedCallbackException {// TODO Auto-generated method stubfor(int i=0;i<callbacks.length;i++) {WSPasswordCallback pcb = (WSPasswordCallback)callbacks[i]; pcb.setPassword("123"); pcb.setIdentifier("1234"); }}}spring
<jaxws:client id="service" address="http://localhost:8080/webservice/services/userService"serviceClass="com.test.cxf.IUserService"><jaxws:outInterceptors> <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="password" value="admin" /> <entry key="passwordCallbackRef"> <ref bean="clientAuthCallback" /> </entry> </map> </constructor-arg> </bean> </jaxws:outInterceptors></jaxws:client><bean id="clientAuthCallback" class="com.test.cxf.ws.ClientAuthCallback" />
服务端
java
public class ServerCheckAuthCallback implements CallbackHandler{public void handle(Callback[] callbacks) throws IOException,UnsupportedCallbackException {WSPasswordCallback pcb = (WSPasswordCallback)callbacks[0];String pwd = pcb.getPassword();String idf = pcb.getIdentifier();pcb.setPassword("123");System.out.println("pwd:"+pwd+" idf:"+idf);}}
spring
<jaxws:endpoint id="service" implementor="#userSer" address="/userService"><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="cxfClie2nt" /> <entry key="checkAuthCallbackRef"> <ref bean="serverCheckAuthCallback" /> </entry> </map> </constructor-arg> </bean> </jaxws:inInterceptors> </jaxws:endpoint><bean id="serverCheckAuthCallback" class="com.test.cxf.ws.ServerCheckAuthCallback"></bean>
这里主要注意的是,在服务器校验的时候, 需要你根据传入的用户名从数据库中查出密码然后通过WSPasswordCallback 的setpassword() 方法set进入,这样由WSPasswordCallback 自己去匹配,而不是在客户端用getpassword获取密码,用if判断。
在服务端用getpassword() 是获取不到任何东西的。
0 0
- cxf用户令牌 WSPasswordCallback
- cxf wss4j 令牌验证 为什么 回调是空?
- 访问令牌、权限和用户标识
- 什么是用户token(令牌)-- 转
- CXF实现用户验证
- apache cxf spring 用户加密
- cxf自定义用户拦截器
- 网站用户单点登录系统解决方案--令牌式
- struts利用Token(令牌)防止用户重复提交
- struts利用Token(令牌)防止用户重复提交
- C/S框架-WebService架构用户凭证(令牌)解决方案
- CXF使用WSS4J实现WS-Security规范之使用用户名令牌
- CXF使用WSS4J实现WS-Security规范之使用用户名令牌
- java正确解决用户退出,刷新(Token令牌)(转)
- struts利用Token(令牌)防止用户重复提交(转载)
- 关于CentOS6.0 新增用户后出现passwd: 鉴定令牌操作错误
- OAuth(开放授权):(第三方)通过(授权)令牌(Access Token)访问用户数据
- 用户登录及访问资源的过程之访问令牌篇
- String和常量池
- 在循环中获取索引(数组下标)
- 从今天开始记录我的学习
- 在centos环境下,用python读写文件
- SQL 递归查询(根据指定的节点向上获取所有父节点,向下获取所有子节点)
- cxf用户令牌 WSPasswordCallback
- scala面向对象
- 终于搞定android驱动USB摄像头了!
- 内存分析工具 MAT 的使用
- Java Concurrency in Practice ---对象的共享
- scrollview 和 listview滑动冲突
- 大型情感类电视连续剧--Android高德之旅(3)地图交互
- 基础练习——选择排序
- 【PHP高级】Smarty模板三