我正在使用jax-rs 1.1(作为此JavaEE 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) {
....
}
}
但它似乎没有效果。我错过了什么?
答案 0 :(得分:0)
您的应用程序可能缺少web.xml
中的安全约束,在这种情况下,它忽略了任何安全注释。
尝试将以下内容添加到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>