2009-12-22 64 views
0

我即将开发的widget将使用构建在现有功能之上的web服务,并且要求该web服务应该知道请求来自哪里。例如,消费者在注册中可以提供关于它的博客的信息或者它将使用该小部件的网站。 现在我需要确定请求的来源(www.mysite.com或www.otherside.com),了解它是否被授权以及是否处理请求。 我必须承认,我不知道从哪里开始或从哪里进行研究。 如果有人可以说出一些亮点,我会更高兴。我将使用java.thanks如何识别http重定向

+0

mmmmh bruv bas因为我很无语! – 2009-12-22 14:20:04

回答

3

通常的做法是为每个站点提供身份验证令牌,并在发出请求时将其传回给您。为避免令牌被拦截和滥用,您只能通过HTTPS(而不仅仅是HTTP)提供Web服务。这是(例如)亚马逊如何用他们的各种网络服务来完成的。

+0

感谢您的答案!我想到了ssl上的令牌,但是如果由于某种原因某人拿到了他的牌,他可能会使用该服务而没有我注意到它是正确的? – 2009-12-22 14:20:36

+0

@black sensei:对,这就是为什么它对于特定于个人最终用户的令牌非常重要,并且他们(和您)有责任保证其安全和私密。这也是为什么SSL;如果您在网络上清楚传输令牌,那么所有投注都将关闭。 – 2009-12-22 15:04:42

1

该信息可以被添加到所述web服务请求在可选头元件

<SOAP-ENV:Header> 
// add your auth element here 
</SOAP-ENV:Header> 

或可以添加包含该信息到请求的主体的元件。

<SOAP-ENV:Body> 
// add your auth element here 
</SOAP-ENV:Body> 

然后,您可以检查授权元素,查看授权者是否有权使用该服务。

+0

感谢您的答案将尝试建议和做更多的Web服务标题研究 – 2009-12-22 14:30:58