繁体   English   中英

保护JBoss中的REST API

[英]Securing REST API in JBoss

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

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

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

所以,我有两个不同的 * war * s,让我们说它们可以访问如下:

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

现在我想要保护这两个人; RESTeasy APIWeb服务器

让我讲述我的结构:

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

我的方案如下:

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

    a)到rest-api,或者

    b)到web服务器,

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

    但无论如何,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层)并给我一些有用的例子来实现我所描述的,请?

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

提前致谢。

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

  • OAuth(开源 - RFC6749
  • Apigee

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM