因为Resteasy随着servlet容器运行,所以你可以使用大多数在servlet容器中可用的身份验证机制。基本和摘要身份验证可能是最容易的一种设置方式,也正好符合REST的无状态的原则。方式安全可以使用,但是需要通过每一次请求的session的cookie值。我们已经做了基于OAuth(开发性验证)的准备工作,也计划在未来做OpenID和SAML(Security Assertion Markup Language)集成。
OAuth核心 1.0a
RESTEasy 开始支持OAuth核心 1.0a。这个包括OAuth的验证支持和为受保护资源的OAuth身份验证。
要点:
这个API是实验性的,还没有成为产品,特别是对于严密安全而言。它不是最后的,还待修改。如果你有意见,故障,特别需求或者问题,可以通过下面的地址联系我们”
https://lists.sourceforge.net/lists/listinfo/RESTEasy-developers
基于OAuth身份验证
OAuth 身份验证时一个这样的过程,在这个过程中,用户被授权访问他们的受保护的资源而不用把他们的凭据和用户分享。
OAuth身份验证需要以下三个步骤:
1.用户获得了一个未被授权的请求记号。这个部分由RESTEasy控制。
2.使用者认可这个请求记号。这个部分不是由RESTEasy控制,因为它需要一个用户接口,通过这个接口用户可以登录和认可或者拒绝那个请求记号。这不是自动完成的因为他需要与用户登录过程以及用户接口相互协调完成。
3.用户用请求记号交换访问记号。这个部分由RESTEasy控制。
为了让RESTEasy提供两个URL端点,一个用于客户端请求未认可的请求记号,另一个用于以认可的请求记号去交换访问记号,你需要使OAuthServlet在你的web.xml中可用:
下面的配置选项可以使用<context-param> 节点来设置:
选项名
|
默认
|
描述
|
oauth.provider.provider-class
|
*Required*
|
定义你的OAuthProvider实现的类名
|
oauth.provider.tokens.request
|
/requestToken
|
这个定义你端点URL,来请求未认可的请求记号
|
oauth.provider.tokens.access
|
/accessToken
|
用认可的请求标记交换访问标记
|
访问受保护的资源
在成功的接受访问记号和记号机密后,使用者可以以用户代表的身份访问受保护的资源。
RESTEasy 支持OAuth身份验证访问受保护的资源。可以使用一个servelt过滤器,这个过滤器需要与所有的受保护的资源映射在你的web.xml中。
下面的配置选项可以使用<context-param> 节点来设置:
选项名
|
默认
|
描述
|
oauth.provider.provider-class
|
*Required*
|
定义你的OAuthProvider实现的类名
|
一旦通过验证,OAuth Servlet Filter将设置你的请求的规则和角色,这个可以随后用JAX-RS SecurityContext来访问。你也可以通过使用在"Securing JAX-RS and RESTeasy"章节中描述的角色保护你的资源。
实现一个OAuthProvider
为了让RESTEasy实现OAuth,你需要提供一个OAuthProvider的实例,这个实例提供访问用户列表、请求和访问记号。一双鞋不能让所有人穿着都合适,我们不知道你是否希望在配置文件中,内存中或者在永久性存储中存储你的记号和用户凭证。
你所要做的就是实现OAuthProvider接口:
如果一个用户Key或者记号不存在,或者如果时间戳不合法,简单的抛个OAuthException异常就行。
在OAuthProvider中使用的剩余的接口是:
本文翻译自http://docs.jboss.org/resteasy/docs/2.2.1.GA/userguide/html/Authentication.html
分享到:
相关推荐
resteasy
Spring整合RestEasy示例工程源码,Spring+Jetty+RestEasy
resteasy讲解
resteasy入门级文档、如何使用Restful进行WebService的开发简介及相关RestEasy相关资源的链接
resteasy不使用tomcat使用netty实现,实现了高性能,也可以不需要tomcat的容器,一个主函数就能执行
resteasy简单demo使用的jar包
详细描述了restEasy在servlet3.0前后的不同使用方法;restEasy 结合httpServer 无需容器开发;restEasy的通用差错拦截;附详细实现源码!
RESTEasy入门经典.docx
该资源是java restful的应用框架resteasy---实现了jax-rs规范的一个demo,如有疑问请联系caizhh2009@gmail.com
使用RESTEasy+guice实现上传下载文件
resteasy-jaxrs-2.3.2框架源码。希望您了解Resteasy框架有所帮助
Resteasy + Spring + Netty sample Inject resteasy provider / controllers as spring bean Authentication Run at Main.java Test http://localhost:8082/resteasy/hello/world 教程 jax-rs规范用法: ...
RESTEasy JSON DEMO
resteasy参考文档及jar包
resteasy-reference-guide-en-US.pdf
Resteasy英文文档,开发rest风格的API接口
案例基于 jboss 7.1.0 和restEasy3.0.18,是目前最新的,因为在网上看到restEasy的例子都比较旧了,所以想到自己写一个案例。直接进入正题。 因为使用的是jboss7,所以restEasy已经集成在里面了,直接用就行,甚至...
JBoss RESTEasy 是一个用来使用Java语言开发 RESTFul Web服务的框架。RESTEasy 项目是 JAX-RS 的一个实现,集成的一些亮点: * 不需要配置文件,只要把JARs文件放到类路径里面,添加 @Path 注解就可以了。 * 完全...
resteasy上传功能资料 都是网上搜集的一些代码demo 方便学习入门