Vikings
My Links
BlogJava
首页
新随笔
联系
聚合
管理
Blog Stats
Posts - 33
Stories - 15
Comments - 10
Trackbacks - 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(5)
给我留言
查看公开留言
查看私人留言
随笔档案
2011年7月 (1)
2008年10月 (1)
2008年8月 (1)
2008年7月 (2)
2008年6月 (1)
2008年3月 (1)
2007年12月 (4)
2007年11月 (5)
2007年10月 (1)
2006年11月 (3)
2006年10月 (1)
2006年5月 (1)
2006年4月 (1)
2006年2月 (5)
2006年1月 (1)
2005年10月 (2)
2005年5月 (2)
文章分类
frame-work(4)
(rss)
or-mapping(2)
(rss)
程序哲学(5)
(rss)
面向对象OO(2)
(rss)
文章档案
2008年9月 (1)
2006年11月 (1)
2005年11月 (5)
2005年5月 (8)
相册
ejb
JAVA BLOG
BlogMap
(rss)
BlogMap
JAVA论坛
javaRanch - Web Component Certification (SCWCD)
javaRanch全是全,E文
JAVA视线
(rss)
论坛贵精不贵多
搜索
最新评论
1. re: 李维-我的回忆和有趣的故事
终于找到了一个相对完整的版本啊...
--peach5460
2. re: 对web.xml 的几点配置心得。包括mime-mapping
windon
--heyuhui
3. re: IE7 打印分页时的css样式分页问题
收下了,谢谢分享
--中国人
4. re: java.net.URL 打开Google搜索报403错
评论内容较长,点击标题查看
--王俊
5. re: 用VisualStudio在IE下调试javascript
为什么不试试FF的FireBug插件呢?
--结下梁子
阅读排行榜
1. 常用正则表达式(4778)
2. 对web.xml 的几点配置心得。包括mime-mapping(4289)
3. 使用java.awt.RenderingHints类设置参数,改善图片质量(4026)
4. Json-lib 的JsonArray比Json-rpc的JsonArray用起来爽(3818)
5. Velocity语法说明(3154)
评论排行榜
1. 用VisualStudio在IE下调试javascript(4)
2. IE7 打印分页时的css样式分页问题(1)
3. java.net.URL 打开Google搜索报403错(1)
4. session id 丢失问题(1)
5. 对web.xml 的几点配置心得。包括mime-mapping(1)
实施WebService Security[WS-Security1.0]的Encrypt和Sign模式(XFire+WSS4J)
转自:
http://www.blogjava.net/security/archive/2006/08/08/xfire_wss4j.html
thanks for springside
鉴于很多系统需要实施WS-Security的标准,我们在SpringSide中提供了XFire+WSS4J的Demo,本文介绍SpringSide中Spring+XFire+WSS4J的基本配置
[WebService Server端配置]
第一,创建一个基本的BookService
public
interface
BookService
{
/** */
/**
*/
/** */
/**
* 按书名模糊查询图书
*/
List findBooksByName(String name);
/** */
/**
*/
/** */
/**
* 查找目录下的所有图书
*
*
@param
categoryId 如果category为null或“all”, 列出所有图书。
*/
List findBooksByCategory(String categoryId);
/** */
/**
*/
/** */
/**
* 列出所有分类.
*
*
@return
List<Category>,或是null。
*/
List getAllCategorys();
}
第二,接口扩展,即Extend基本的BookService,在XFire中,不同的WSS4J策略需要针对不同的ServiceClass,否则<inHandlers>里面的定义会Overlap。
<!--
BookService 基类
-->
<
bean
id
="baseWebService"
class
="org.codehaus.xfire.spring.remoting.XFireExporter"
abstract
="true"
>
<
property
name
="serviceFactory"
ref
="xfire.serviceFactory"
/>
<
property
name
="xfire"
ref
="xfire"
/>
</
bean
>
<
bean
class
="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
>
<
property
name
="mappings"
>
<
value
>
/BookService=bookService
/BookServiceWSS4J=bookServiceWSS4J
/BookServiceWSS4JEnc=bookServiceWSS4JEnc
/BookServiceWSS4JSign=bookServiceWSS4JSign
</
value
>
</
property
>
</
bean
>
<!--
(1)BookWebService 不需要认证
-->
<
bean
id
="bookService"
class
="org.codehaus.xfire.spring.remoting.XFireExporter"
>
<
property
name
="serviceFactory"
ref
="xfire.serviceFactory"
/>
<
property
name
="xfire"
ref
="xfire"
/>
<
property
name
="serviceBean"
ref
="bookManager"
/>
<
property
name
="serviceClass"
value
="org.springside.bookstore.plugins.xfire.service.BookService"
/>
</
bean
>
<!--
(3)BookWebService 使用 WSS4J验证
-->
<
bean
id
="bookServiceWSS4J"
class
="org.codehaus.xfire.spring.remoting.XFireExporter"
>
<
property
name
="serviceBean"
ref
="bookManager"
/>
<
property
name
="serviceClass"
value
="org.springside.bookstore.plugins.xfire.service.BookServiceWSS4J"
/>
<
property
name
="inHandlers"
>
<
list
>
<
ref
bean
="domInHandler"
/>
<
ref
bean
="wss4jInHandler"
/>
<
ref
bean
="validateUserTokenHandler"
/>
</
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"
>
org.springside.bookstore.plugins.xfire.wss4j.PasswordHandler
</
prop
>
</
props
>
</
property
>
</
bean
>
<
bean
id
="validateUserTokenHandler"
class
="org.springside.bookstore.plugins.xfire.wss4j.WSS4JTokenHandler"
/>
<!--
(4)BookWebService 使用 WSS4J验证 Encrypt模式
-->
<
bean
id
="bookServiceWSS4JEnc"
class
="org.codehaus.xfire.spring.remoting.XFireExporter"
>
<
property
name
="serviceBean"
ref
="bookManager"
/>
<
property
name
="serviceClass"
value
="org.springside.bookstore.plugins.xfire.service.BookServiceWSS4JEnc"
/>
<
property
name
="inHandlers"
>
<
list
>
<
ref
bean
="domInHandler"
/>
<
ref
bean
="wss4jInHandlerEnc"
/>
<
ref
bean
="validateUserTokenHandler"
/>
</
list
>
</
property
>
</
bean
>
<
bean
id
="wss4jInHandlerEnc"
class
="org.codehaus.xfire.security.wss4j.WSS4JInHandler"
>
<
property
name
="properties"
>
<
props
>
<
prop
key
="action"
>
Encrypt
</
prop
>
<
prop
key
="decryptionPropFile"
>
org/springside/bookstore/plugins/xfire/wss4j/insecurity_enc.properties
</
prop
>
<
prop
key
="passwordCallbackClass"
>
org.springside.bookstore.plugins.xfire.wss4j.PasswordHandler
</
prop
>
</
props
>
</
property
>
</
bean
>
<!--
(5)BookWebService 使用 WSS4J验证 Signature模式
-->
<
bean
id
="bookServiceWSS4JSign"
class
="org.codehaus.xfire.spring.remoting.XFireExporter"
>
<
property
name
="serviceBean"
ref
="bookManager"
/>
<
property
name
="serviceClass"
value
="org.springside.bookstore.plugins.xfire.service.BookServiceWSS4JSign"
/>
<
property
name
="inHandlers"
>
<
list
>
<
ref
bean
="domInHandler"
/>
<
ref
bean
="wss4jInHandlerSign"
/>
<
ref
bean
="validateUserTokenHandler"
/>
</
list
>
</
property
>
</
bean
>
<
bean
id
="wss4jInHandlerSign"
class
="org.codehaus.xfire.security.wss4j.WSS4JInHandler"
>
<
property
name
="properties"
>
<
props
>
<
prop
key
="action"
>
Signature
</
prop
>
<
prop
key
="signaturePropFile"
>
org/springside/bookstore/plugins/xfire/wss4j/insecurity_sign.properties
</
prop
>
<
prop
key
="passwordCallbackClass"
>
org.springside.bookstore.plugins.xfire.wss4j.PasswordHandler
</
prop
>
</
props
>
</
property
>
</
bean
>
</
beans
>
posted on 2008-10-29 01:55
Vikings
阅读(373)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
Powered by:
BlogJava
Copyright © Vikings