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

Dae*_*yth 12 java authentication rest jersey tomcat6

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

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

就像是:

@Path("api")
public class Api {
    @GET
    @AuthenticationRequired
    public Response getInfo(...) {...}
}
Run Code Online (Sandbox Code Playgroud)

der*_*rdc 6

我想你想要的 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!";
}
}
Run Code Online (Sandbox Code Playgroud)

  • 如何定义角色是什么以及如何提供身份验证? (2认同)
  • 谢谢,我认为您第一次评论的文档应该让我在那里.我想我现在还不太清楚 - 你说它是针对应用程序的,这是什么意思?我不知道如何为应用程序定义它们.我在您链接的文档中看到@DeclareRoles注释,但我不知道如何告诉它角色如何进行身份验证.这是在web.xml文件中完成的吗? (2认同)