我喜欢通过用户名和密码使用代理进行身份验证。通过ESB传递的所有消息都应保存到数据库中,包括通过ESB验证的用户。 有没有办法在代理中获取用户名?我知道你可以获得message-id,但我找不到获取用户名的解决方案。
也许你可以帮助我:)。
答案 0 :(得分:1)
如果您使用$ header访问标头信息,它可以正常工作。只需获取xPath并提取用户名,如下例所示:
<property xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" name="user" expression="$header/wsse:Security/wsse:UsernameToken/wsse:Username"/>
答案 1 :(得分:0)
您可以使用用户名令牌(即:用户名/密码)保护代理。转到服务仪表板 - &gt;安全选项,您可以找到启用用户名令牌的工具。 如果你这样保护,在你的请求中你应该发送基本的auth标题。
答案 2 :(得分:0)
我认为您可以从ESB文档中获得帮助 http://docs.wso2.org/wiki/display/ESB460/HTTP+Basic+Authentication+over+a+Proxy+Server
答案 3 :(得分:0)
代理服务是安全的用户名令牌或基本身份验证...成功的消息身份验证后,可以检索用户名。可以使用名为“username”的属性从axis2消息上下文中检索用户名。您可以使用属性介体(范围是axis2)或简单类介体。