java - 在 JBoss 中保护 REST API

标签 java web-services jboss resteasy restful-authentication

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

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

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

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

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

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

让我说说我的结构:

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

我的场景如下:

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

    a) 到 rest-api,或者

    b) 到网络服务器,

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

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

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

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

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

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

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

我读过很多东西,关于 REST API 中的授权、 token 、 key 等,是的,我也听说过 Spring SecurityApache Shiro、等

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

在接触Spring Security和Apache Shiro之前,想了解resteasy skeleton key JBoss module

有这些来源:

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 应用层)并给我提供有用的示例来实现我所描述的内容吗?

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

提前致谢。

最佳答案

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

关于java - 在 JBoss 中保护 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17393845/

相关文章:

java - 如何设置android评分栏笔划的颜色? (不是星星的颜色,而是边界的颜色)

java - 为什么mysql表中的所有记录都被删除了?

java - 为什么java并发映射在使用多线程计算 double 时略有不同

vb.net - (407) 需要代理身份验证(ISA 服务器需要授权才能完成请求。拒绝访问 Web 代理筛选器。)

java - 无法读取 WildFly 系统属性

java - 用户注销后还需要注意什么?

jquery - 为什么调用我的 ASP.NET WebMethod 会调用我的错误处理程序?

php - 获取 flickr 缩略图

java - 处理 wsdl 文件时出现问题 :WSDLException. 尝试解析架构时出错

java - Wildfly 配置文件运行时参数