1

我在具有 usernameToken 安全策略的 WebLogic 上部署了一个 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 服务安全配置,并使用注释 WssConfiguration 在我的服务类中引用它,但结果是相同的。

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

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

4

0 回答 0