2012-08-16 81 views
0

我正在开发基于Java EE的Web应用程序,它由Jersey RestFul Webservices组成。 是否有可能知道,从那里的球衣RESTful Web服务请求已经到来意味着如果是否有可能知道源应用程序的请求?

1.请求从Web服务客户端工具(对于例如:谷歌铬合金REST客户端,或任何这样的工具,如)

2或该请求是由登录用户进行的。

在我的服务课里,我一直保持这个状态。

//这种情况适用于Web服务客户端工具。

HttpSession httpsession = req.getSession(false); 
if(httpsession==null) 
{ 
throw new WebApplicationException(SC_FORBIDDEN); 
} 

这对于处理web服务的客户端工具,简单地抛出禁例外,以服务呼叫响应工作正常,但可能也是在一个用户登录的情况,可能会从删除Jsession标识的Cookie浏览器,然后可能会打电话给其中一个服务,我想将他重定向到登录页面的任何这种类型的请求。

所以基本上我在问,是否有可能知道请求的来源?

回答

0

解决REST安全问题的一种方法是使用开源协议OAuth。如OAuth website所述,OAuth是“一种开放协议,可通过桌面和Web应用程序以简单标准的方法实现安全的API授权。” OAuth结合了几种专有框架采用的常用原则,包括Google AuthSub,AOL OpenAuth,Yahoo BBAuth,即将推出的API,Flickr API和Amazon Web Services API。

OAuth协议使网站或应用程序(称为服务使用者)能够通过API从Web服务(称为服务提供者)访问受保护的资源。该API不要求用户向消费者披露他们的服务提供商证书。

+0

谢谢拉尔斯,但据说未经授权访问服务已被解决,现在的问题是根据请求类型显示适当的消息。 – Pawan 2012-08-16 12:52:08

相关问题