servicios servicio seguridad crear consumir cliente java authentication rest jersey tomcat6

seguridad - servicios rest java



¿Cómo puede un servicio REST JAX-RS gestionar la autenticación mediante anotaciones? (2)

Tengo una API REST escrita con JAX-RS, y necesito agregarle autenticación. Hasta ahora toda la información que he podido encontrar al respecto tiene sugerencias para hacerlo en la primavera , que no estoy usando. ¿Hay algo que ya existe, o sería fácil de escribir, algo que me permita anotar un método o toda la clase que obligaría a los encabezados de autenticación a estar presentes?

Estoy usando tomcat6 y jersey, si eso importa.

Algo como:

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


Administraría la seguridad en el nivel de contenedor. Aquí hay un buen informe si está usando Apache CXF:

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

Y aquí hay un ejemplo para Glassfish:

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

Aquí hay un enlace más, que analiza las anotaciones JSR 250 (por ejemplo, @RolesAllowed):

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


Creo que quieres import javax.annotation.Security.RolesAllowed;

La anotación en sí se ve así

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