0

我正在开发一个基于 Java EE 的 Web 应用程序,它由 Jersey RestFul Webservices 组成。是否有可能知道,对 Jersey RestFul Webservice 的请求来自何处意味着如果

1.请求来自网络服务客户端工具 (例如:Google Chromes Rest Client,或任何类似的工具)

2 或者请求来自登录用户

在我的 Service 课程中,我一直保持这种状态。

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

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

这适用于处理 Webservice 客户端工具,它只是抛出 Forbidden Exception 作为对服务调用的响应,但也可能存在登录用户可能会从浏览器中删除 Jsession Id Cookie 然后进行调用的情况对于其中一项服务,我想将任何此类请求重定向到登录页面。

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

4

1 回答 1

0

解决 REST 安全问题的一种方法是使用开源协议 OAuth。如OAuth 网站上所述,OAuth 是“一种开放协议,允许通过桌面和 Web 应用程序以简单和标准的方法进行安全 API 授权。” OAuth 结合了多个专有框架采用的通用原则,包括 Google AuthSub、AOL OpenAuth、Yahoo BBAuth、Upcoming API、Flickr API 和 Amazon Web Services API。

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

于 2012-08-16T12:43:56.513 回答