在应用程序级别实现WS-Security

时间:2013-08-31 02:17:19

标签: java soap jboss jax-ws ws-security

我正在尝试构建基于JAX-WS(使用JBoss AS 7.1.1)的soap服务,我也需要实现安全性。数据将是敏感的,因此它将通过HTTPS。但是,我需要识别客户端,并确保只有他们可以为他们的组织执行操作。

从它的外观来看,我在JBoss文档(以及其他JAX-WS提供程序文档)上看到的所有内容都表明需要编辑多个.xml文件(一些在app服务器层)。

我真的在寻找一种方法,我可以在我的服务中使用SOAP标头调用一个类,我可以在那里执行验证/认证/授权。非常感谢有人能指出我正确的方向。

1 个答案:

答案 0 :(得分:0)

  • 您始终可以显式发送身份验证数据以及请求(例如,除了普通参数之外的用户和密码)。您必须确保连接已加密。

  • 您可以使用公钥/私钥对其进行优化:首先,服务器发送其公钥,客户端使用该公钥加密用户/密码,服务器可以解密它使用其私钥。由于这可能在请求的基础上过于昂贵,服务器可以在特定时间内发出令牌,客户端可以在以下请求中发送(因此令牌是建立的方法)会话)。

话虽如此,我知道JBoss安全设置有时是多么繁琐,你必须非常小心地实施和测试,否则你可能会打开一些安全漏洞(令牌可能泄漏,会话可能被捕获,令牌失效,SSL连接在Web服务器中终止,明文密码保留在RAM中并在磁盘上被分页等。)。