2016-09-13 1 views
0

J'utilise jax-rs 1.1 (comme ce JavaEE 6.0) et je veux un moyen standard de gérer les permissions pour mes ressources. J'ai essayé ceci:Comment utiliser @RolesAllowed dans Java EE 6.0

@Path("/public/login/") 
@Stateless 
@RolesAllowed("ADMIN") 
public class LoginResource implements Serializable { 

    @POST 
    @Consumes("application/json") 
    @Produces("application/json") 
    public Response login(Usuario usuario) { 
     .... 
    } 

} 

Mais il semble n'avoir aucun effet. Qu'est-ce que je rate?

Répondre

0

Il se peut que votre application manque des contraintes de sécurité dans web.xml et dans ce cas, elle ignore les annotations de sécurité.

Essayez d'ajouter ce qui suit à votre web.xml:

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>all</web-resource-name> 
     <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>admins</role-name> 
    </auth-constraint> 
    <user-data-constraint> 
     <transport-guarantee>NONE</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 
<security-role> 
    <role-name>admins</role-name> 
</security-role>