繁体   English   中英

JAX-RS REST服务如何通过注释处理身份验证?

[英]How can a JAX-RS REST service have authentication handled by annotations?

我有一个用JAX-RS编写的REST api,我需要为它添加身份验证。 到目前为止,我能够找到的有关它的所有信息都有通过spring进行的建议,我没有使用它。 是否存在已经存在的内容,或者是否易于编写,这些内容可以让我注释一个方法,还是整个类会强制auth标头出现?

我正在使用tomcat6和jersey,如果这很重要的话。

就像是:

@Path("api")
public class Api {
    @GET
    @AuthenticationRequired
    public Response getInfo(...) {...}
}

我想你想要import javax.annotation.Security.RolesAllowed;

注释本身看起来像这样

@Path("/helloworld")
@RolesAllowed({"ADMIN", "ORG1"})
public class helloWorld {

@GET
@Path("sayHello")  
@Produces("text/plain")
@RolesAllowed("ADMIN")
public String sayHello() {
   return "Hello World!";
}
}

我会管理容器级别的安全性。 如果您碰巧使用Apache CXF,这是一个很好的写作:

http://cxf.apache.org/docs/secure-jax-rs-services.html

这是Glassfish的一个例子:

http://www.butonic.de/2010/06/18/a-simple-jax-rs-security-context-example-in-glassfish/

这是另一个链接,它讨论了JSR 250注释(例如@RolesAllowed):

http://www-01.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.base.doc/ae/twbs_jaxrs_impl_securejaxrs_annotations.html

暂无
暂无

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

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