Java 手动Weblogic基本身份验证
我有一个Web服务(JAX-WS)、一个WSDL、一个桌面应用程序客户端和一个WebLogic12C服务器。我正在尝试在Java 手动Weblogic基本身份验证,java,web-services,authentication,soap,weblogic,Java,Web Services,Authentication,Soap,Weblogic,我有一个Web服务(JAX-WS)、一个WSDL、一个桌面应用程序客户端和一个WebLogic12C服务器。我正在尝试在客户机->Web服务->Weblogic->Active Directory之间实现基本身份验证。当从客户机向Web服务发送SOAP消息时,我可以通过将用户名/密码放在SOAP消息的头中来设置所有内容 Weblogic自动提取该标题信息,并根据Active Directory对用户进行身份验证。伟大的但眼前的问题是: 如果我不在头中发送凭据,它不会进行身份验证,但允许匿名用户完
客户机->Web服务->Weblogic->Active Directory
之间实现基本身份验证。当从客户机向Web服务发送SOAP消息时,我可以通过将用户名/密码放在SOAP消息的头中来设置所有内容
Weblogic自动提取该标题信息,并根据Active Directory对用户进行身份验证。伟大的但眼前的问题是:
- 我需要发送正确的错误消息,并防止匿名使用
套接字读取
异常。
- 我需要返回一个正确的错误消息;而不是让它轰炸客户
@RolesAllowed({“SomeRole”})
。它在房屋的Web服务端抛出一个安全vilotion异常。
- 我需要以某种方式捕获此异常,并将正确的消息发送回客户端
有没有一种方法可以在不定制Weblogic域的情况下完成所有这些工作?感觉上,我需要手动控制Weblogic的基本身份验证,但随后我感觉我正在步进Weblogic的
JAAS登录模块
——它定制了域,我希望避免 使用处理程序拦截传入和传出的请求。您能举个例子吗?从SOAPHandler继承一个类,并重写handleFault、getHeaders和handleMessage以处理SOAP错误、SOAP消息头和SOAP消息体。