相关疑难解决方法(0)

JAX-WS,身份验证和授权 - 如何?

在Web服务中进行身份验证和授权的最佳方法是什么?

我正在开发一组Web服务,需要基于角色的访问控制.使用metro - SOAP,简单的java而不使用EJB.

  • 我想使用用户名和密码对用户进行一次身份验证,以便与数据库进行匹配.在随后的电话中.
  • 我想使用某种会话管理.可以是在登录时检索到客户端的某个会话ID,以便在所有呼叫中显示.

至今:

  • 使用数据库读取身份验证 - 但我想要应用程序级别验证;
  • 使用jax-ws读取应用程序身份验证 - 但我不想每次都执行身份验证机制;

  • 我想我可以使用SOAP处理程序拦截所有消息,并使用消息附带的一些会话标识符令牌在hander中执行授权控制,该令牌可以与保存在数据库中的标识符匹配,登录Web方法.

编辑:

我还有一些问题:

  • 如何知道被调用的Web方法的名称?
  • 我应该使用什么样的令牌?
  • 如何在通话之间传递此令牌?

编辑2

因为@ ag112答案:

我正在使用Glassfish.

我使用WS-Policy和WS-Security来加密和签名消息.使用相互证书身份验证.我想在应用程序之间补充此消息级别的安全性,同时在消息级别对用户进行身份验证和授权.

我只是开发服务,我几乎不知道客户,只是他们可以用不同的语言创建.

在这一点上,我认为最重要的是做我需要做的事情来验证和验证用户,我是客户端应用程序最简单的实现方式.

java authentication web-services jax-ws access-control

11
推荐指数
1
解决办法
9974
查看次数

JAXWS客户端使用X509服务器身份验证调用JAXWS Webservice

我使用wsdlc ANT任务从wsdl创建了一个JAXWS Web服务,并部署在Weblogic 10.3.0中.我们有Sun one Java Server 7.0,其中安装了Verisign Server证书并配置为将webservice请求转发到weblogic.

我使用wsimport ant任务创建了一个JAXWS客户端来调用webservice.使用https URL运行客户端时,我可以看到weblogic中的xml请求,并成功处理了webservice.但我无法在xml请求/响应中找到任何x509证书的证据.除了使用wsimport生成存根之外,我是否需要在客户端执行任何操作?通过浏览器查看wsdl时,我可以通过浏览器查看证书详细信息.

jax-ws

0
推荐指数
1
解决办法
1万
查看次数