使用 JAX-RS Jersey 进行身份验证和授权的简便方法

Posted

技术标签:

【中文标题】使用 JAX-RS Jersey 进行身份验证和授权的简便方法【英文标题】:Easy way for Authentication and Authorization with JAX-RS Jersey 【发布时间】:2013-07-30 07:11:37 【问题描述】:

我对 REST 很陌生,目前正在使用 JAX-RS Jersey 开发一个 API。我很好奇什么是实现用户管理的最简单方法。 IE。用户必须登录并根据他们的角色限制对不同资源的访问。据我了解,使用 OAuth 2.0 是当前标准。我可以用泽西岛实现吗?有没有人有一些链接让我开始(示例、教程)?或者您会建议其他方法吗?

非常感谢

【问题讨论】:

【参考方案1】:

有多种方法可以实现,让我指出其中的几个:

    HTTP Basic authentication (BA) 实现是对 Web 资源实施访问控制的最简单技术,因为它不需要 cookie、会话标识符和登录页面。相反,HTTP Basic 身份验证使用静态的标准 HTTP 标头,这意味着无需提前进行握手。

    Role based access control 用于使用领域的 J2EE 应用程序

    OAuth with REST:

【讨论】:

感谢您闪电般的快速响应!对于处理非常敏感数据的系统,您会建议哪种方法?有没有你知道的带有 Jersey 的 OAuth 的库或示例? @user2633221 对 HTTPs 使用基本身份验证。试试吧,一旦你这样做了,你将了解更多关于身份验证和授权的信息。如果在某些时候您觉得这不足以满足您的解决方案,请转到其他解决方案。 第二个链接坏了:(【参考方案2】:

有一个针对 Jersey @https://wikis.oracle.com/display/Jersey/OAuth 的 OAuth 1.0 贡献者 对我很有用。 OAuth 2 还不是真正的标准,因为它还没有完成,围绕它还有很多争论和互操作性问题。

【讨论】:

以上是关于使用 JAX-RS Jersey 进行身份验证和授权的简便方法的主要内容,如果未能解决你的问题,请参考以下文章

使用 JAX-RS Jersey 进行身份验证和授权的简便方法

JAX-RS 和 Spring Security - 获取经过身份验证的用户

在 JAX-RS 中使用 API 密钥进行身份验证

使用拦截器和注入在 JAX-RS 中进行身份验证/授权

JAX-RS Jersey 读取内容类型为“*”的实体

Jersey JAX-RS REST“getter”方法总是被调用