我需要将安全凭据转发到远程服务。为此,我使用基本身份验证向我的http端点发送身份验证,并将其直接写入url,如:http://userName:password@localhost:8081/esb/
。如果我转发HTTP Authorization标头,一切正常。但每次我想通过URL格式传递凭据时,我都没有在消息或有效负载属性中看到它们。他们消失了。任何人都可以帮我找到将凭证传递给通过基本身份验证保护的远程HTTP服务的正确方法吗?
答案 0 :(得分:0)
您正在谈论的某些浏览器功能的URL格式。例如,早期版本的IE将从URL中获取用户名和密码,并将其放入Authorization标头中。我不知道任何仍支持此模型的浏览器(http://support2.microsoft.com/kb/834489/en-us)。有没有理由不能像基本身份验证中的标准一样使用Authorization标头?
答案 1 :(得分:0)
如果您想使用Mule将凭证传递给远程服务..那么您可以采用以下示例 .. 在这里,我试图将请求发布到具有Http身份验证的外部SOAP Web服务..用户名: - 用户名和密码是密码:
<http:outbound-endpoint exchange-pattern="request-response" host="localhost" user="username" password="password" port="8090" path="designation" doc:name="HTTP" method="POST"/>
或者我们可以在出站端点的网址中使用它
<http:outbound-endpoint exchange-pattern="request-response" doc:name="HTTP" method="POST" address="http://username:password@localhost:8090/designation"/>