【问题标题】:SOAP security header with UsernameToken and SecurityContextToken - CXF带有 UsernameToken 和 SecurityContextToken 的 SOAP 安全标头 - CXF
【发布时间】:2017-03-23 14:38:59
【问题描述】:

使用 CXF 并需要以下安全标头,包括 UsernameToken(无密码)和 SecurityContextToken:

        <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="123">
            <wsse:Username>USER</wsse:Username>
        </wsse:UsernameToken>
        <wsc:SecurityContextToken xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc">
            <wsc:Identifier>TOKEN</wsc:Identifier>
        </wsc:SecurityContextToken>
    </wsse:Security>

尝试使用操作 WSHandlerConstants.USERNAME_TOKEN_NO_PASSWORD 并将其放入 WSS4JOutInterceptor 但 CXF 抛出异常“Unknown action defined: UsernameTokenNoPassword”。

如何将这两个元素放入页眉中?

【问题讨论】:

    标签: java cxf ws-security wss4j


    【解决方案1】:

    错误是由https://issues.apache.org/jira/browse/WSS-604(我刚刚修复的)引起的。

    【讨论】:

    • 谢谢,科尔姆。还有SecurityContextToken是怎么回事,是不是可以通过WSHandler来添加呢?
    • 不是直接的。您可以通过“CustomToken”操作添加它,该操作从 CallbackHandler 检索令牌。
    • 我在 WSSecurityUtil 中找不到 CustomToken 操作,因此如果我将其添加为 props.put(WSHandlerConstants.ACTION, WSHandlerConstants.CUSTOM_TOKEN) 之类的操作,则会出现“未知操作定义:CustomToken”异常;跨度>
    猜你喜欢
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多