WebLogic上的Web Service安全标头验证

时间:2013-01-22 10:42:15

标签: web-services weblogic

我在WebLogic上部署了一个具有usernameToken安全策略的Web服务。我实现了自己的Java密码验证器(扩展了com.sun.xml.wss.impl.callback.PasswordValidationCallback.WsitDigestPasswordValidator)。

<wsp:Policy wsu:Id="DoubleItBindingPolicy">
    <wsp:ExactlyOne>
        <wsp:All>
            <wsam:Addressing wsp:Optional="false"/>
            <sp:TransportBinding>
                <wsp:Policy>
                    <sp:TransportToken>
                        <wsp:Policy>
                            <sp:HttpsToken RequireClientCertificate="false"/>
                        </wsp:Policy>
                    </sp:TransportToken>
                    <sp:Layout>
                        <wsp:Policy>
                            <sp:Lax/>
                        </wsp:Policy>
                    </sp:Layout>
                    <sp:IncludeTimestamp/>
                    <sp:AlgorithmSuite>
                        <wsp:Policy>
                            <sp:Basic128/>
                        </wsp:Policy>
                    </sp:AlgorithmSuite>
                </wsp:Policy>
            </sp:TransportBinding>
            <sp:SignedEncryptedSupportingTokens>
                <wsp:Policy>
                    <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
                        <wsp:Policy>
                            <sp:WssUsernameToken10/>
                        </wsp:Policy>
                    </sp:UsernameToken>
                </wsp:Policy>
            </sp:SignedEncryptedSupportingTokens>
            <sc:ValidatorConfiguration wspp:visibility="private">
                <sc:Validator name="usernameValidator" classname="service.PasswordValidator"/>
            </sc:ValidatorConfiguration>
            <sp:Wss11/>
        </wsp:All>
    </wsp:ExactlyOne>
</wsp:Policy>

我的问题是,当我尝试使用包含安全标头的SOAP消息调用我的Web服务时,标头将被完全忽略,就好像Web服务没有附加安全性一样。

我尝试在WebLogic控制台中创建一个新的Web Service Security配置,并使用注释WssConfiguration在我的服务类中引用它,但结果是相同的。

我还尝试在我的WebService中添加WS-Policy(策略:Wssp1.2-2007-Wss1.1-UsernameToken-Digest-DK.xml),但仍然是相同的。

您能否告诉我如何在WebLogic中激活SOAP消息安全标头的验证?

0 个答案:

没有答案