手动Weblogic基本身份验证

时间:2014-06-24 14:34:37

标签: java web-services authentication soap weblogic

我有一个Web服务(JAX-WS),一个WSDL,一个桌面应用程序客户端和一个Weblogic 12c服务器。我正在尝试在Client->Web Service->Weblogic->Active Directory之间实现基本身份验证。我可以通过在从客户端发送到Web服务时将用户名/密码放在SOAP消息的标头中来设置所有内容。

Weblogic会自动提取该标头信息并根据Active Directory对用户进行身份验证。大。但是手头的问题是:

  1. 如果 标题中发送凭据,则它不会进行身份验证,但允许匿名用户完全访问权限。
    • 我需要发送正确的错误消息并阻止匿名使用。
  2. 我应该发送 无效的 凭据,它会在客户端上抛出socket read个异常。
    • 我需要发回适当的错误消息;而不是让它在客户端轰炸。
  3. 我应该发送 有效 凭据,但 无效 授权;我已在每个@RolesAllowed({"SomeRole"})方法上设置了Stateless EJB。它在房子的Web服务端抛出安全性驱动器例外。
    • 我需要以某种方式捕获此异常并将正确的消息发送回客户端
  4. 有没有办法在不自定义Weblogic域的情况下完成所有这些操作?感觉我需要手动控制Weblogic的基本身份验证,但后来我觉得我正在踩踏weblogic的JAAS Login Module - 我自定义了域,我想避免。

1 个答案:

答案 0 :(得分:0)

使用处理程序拦截传入和传出请求。