4

我正在JBoss-As 7下开发一个 RESTeasy JSON API 。

我有另一个单独的网络服务器。

我在服务器端使用JAVA进行开发,在客户端使用JavacriptJQueryAJAX进行开发。

所以,我有 2 个不同的* war *s,假设它们可以按如下方式访问:

  • https.//localhost:8443/services
  • http.//localhost:8080/web

现在我想保护这两个家伙;RESTeasy API网络服务器

先说一下我的结构:

  • 我使用用户名密码将用户保存在数据库中。目前只有这些用户。
  • 我有一个登录页面来验证我的用户(我不想要 http 基本身份验证弹出窗口和任何解决方法)
  • REST API的客户端是浏览器(不是 Web 服务器)。加载静态页面,然后通过 REST API 加载其他一些动态内容,使用JQuery、AJAX 等从浏览器中调用。
  • 所有通信都可以通过SSL/TLS,没问题。
  • 对于未来,应考虑可扩展性(Web 浏览器以外的客户端、通过社交网络登录进行身份验证的能力等)。

我的情况如下:

  • 客户端是浏览器。
  • web/aaa.html客户想要访问仅限于经过身份验证的用户的网页。
  • 客户端被重定向到登录页面:web/login.html
  • 客户填写表格并发送至...

    a)到 rest-api,或

    b)到网络服务器,

    不确定(所以,这里你有一个隐含的问题)。

    但无论如何,a 或 b 应该做的都是一样的:

    检查用户名密码。假设它们已被检查并且用户已通过身份验证。

  • 从现在开始,我应该同时得到这两个东西:

    1-客户有权浏览受限页面。

    2-客户端将获得 REST API 调用的授权。

所以,在登录页面进行身份验证后,我需要同时发生这两件事。

我已经阅读了很多关于 REST API 中的授权、令牌、密钥等的内容,是的,我也听说过Spring SecurityApache Shiro等。

是的,我不想自己实现一个新的安全框架,我会使用一个。我想某些框架可以为我生成/检查令牌等。

在 Spring Security 和 Apache Shiro 之前,我想了解一下resteasy 万能键 JBoss 模块

有这些来源:

https://github.com/resteasy/Resteasy/tree/3.0.1.Final/jaxrs/examples/oauth2-as7-example

http://docs.jboss.org/resteasy/docs/3.0-beta-2/userguide/html/oauth2.html

但是,它们对我来说似乎不是很明确,而且我不确定它们是否是我需要的。

有没有人知道如何配置万能钥匙(或一般的 JBoss App 层)并给我有用的例子来实现我所描述的,好吗?

或者,您能否给我一些其他建议/示例来实现我的目标,特别是注意到我的问题是关于“如何实施”?我不知道从哪里开始。

提前致谢。

4

1 回答 1

0

为了保护 REST 服务,我们可以使用以下框架

  • OAuth(开源 - RFC6749
  • Apigee
于 2013-11-27T13:38:52.070 回答