我即将开发使用基于现有功能构建的Web服务的小部件,并且要求该Web服务应该知道请求的来源。例如,注册中的消费者可以提供信息关于它的博客或它将使用小部件的网站。 现在我需要确定请求来自哪里(www.mysite.com或www.otherside.com),以了解它是否被授权以及是否处理请求。 我必须承认我不知道从哪里开始或从哪里做研究。 如果有人可以对它有所了解,我会非常高兴。我将使用java.thanks
答案 0 :(得分:3)
通常情况是为每个站点提供一个身份验证令牌,在发出请求时会将这些令牌传递给您。为避免令牌被拦截和误用,您只能通过HTTPS(而不仅仅是HTTP)提供Web服务。这是(例如)亚马逊如何使用各种Web服务。
答案 1 :(得分:1)
可以在可选的标题元素
中将该信息添加到Web服务请求中<SOAP-ENV:Header>
// add your auth element here
</SOAP-ENV:Header>
或者您可以将包含该信息的元素添加到请求正文中。
<SOAP-ENV:Body>
// add your auth element here
</SOAP-ENV:Body>
然后,您可以检查授权元素,以查看呼叫者是否有权使用该服务。