security - WSO2 ESB 获取认证名称

标签 security properties wso2 esb

我正在使用带有 https 身份验证的 ESB 代理。

如果我用 curl 向这个代理发送消息,我会得到这个日志:

[2013-06-14 13:56:05,138]  INFO - LogMediator To: /services/Username, From: 127.0.0.1, Direction: request, Envelope: <?x
ml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="true">
<wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp17"><wsu:Created>2013-06-14T11:56:05.134Z</wsu:Created>
<wsu:Expires>2013-06-14T12:01:05.134Z</wsu:Expires>
</wsu:Timestamp>
<wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken16">
<wsse:Username>admin</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">admin</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

现在我想用 Property-Mediator 保存用户名。问题是我不知道表达式应该是什么样子。目前我有以下无效表达:

<property xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" name="user" expression="//soapenv:Envelope/soapenv:Header/wsse:Security/wsse:UsernameToken/wsse:Username" scope="transport" type="STRING"/>

获取用户名的正确表达式是什么?

谢谢。

最佳答案

您可以使用带有 $header 的表达式来检索用户名,如下所示。

<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"/>

关于security - WSO2 ESB 获取认证名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17108053/

相关文章:

wso2 - Ballerina 注释处理未按预期工作

api - JWT 使用 WSO2-AM 处理

asp.net - 在调试 ="true"中运行 Web 应用程序是否存在安全风险?

iOS MapKit 拖动注释(MKAnnotationView)不再随 map 平移

java - 已关闭的本地主机(127.0.0.1) :9162 host still appears to be down

java - 如何从 servlet 中可移植地读取配置数据

c# - 可访问性不一致 : property type is less accessible

java - 如何签署从 tomcat 服务器访问服务的 JNLP 应用程序?

linux - 如何在嵌入式设备上实现网络服务?

security - 禁用 SSL 2.0/3.0