是否可以知道源应用程序对Web应用程序的请求?

时间:2012-08-16 12:33:30

标签: rest java-ee servlets

我正在开发一个基于Java EE的Web应用程序,它由Jersey RestFul Webservices组成。 是否有可能知道泽西RestFul Web服务的请求来自何处

1.请求来自Web服务客户端工具(例如:Google Chromes Rest Client或任何此类工具)

2或请求来自登录用户

在我的服务课程中,我保持这种状态。

//此条件适用于Web服务客户端工具。

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

这适用于处理Web服务客户端工具,它只是将Forbidden Exception作为对服务调用的响应抛出,但是也可能存在登录用户的情况,可能会从浏览器中删除Jsession Id Cookie然后可能拨打其中一个服务,我希望将他重定向到登录页面。

所以基本上我问,是否有可能知道请求在哪里?

1 个答案:

答案 0 :(得分: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不要求用户向消费者披露其服务提供商凭证。