2013-10-10 162 views
0

我想在我的RESTEasy应用程序中添加身份验证和授权。RESTEasy身份验证和授权

这就是我想限制与“管理”角色的用户我的服务方法:

@RolesAllowed("admin") 
@PUT 
@Path("/hosts/{id}") 
@Produces("application/json") 
public Response updateHost(@PathParam("id") int id) { 

这是我拦截

@Provider 
public class SecurityInterceptor implements javax.ws.rs.container.ContainerRequestFilter 
{ 

    @Override 
    public void filter(ContainerRequestContext requestContext) 
    { 

然而,我的过滤方法不会被调用并且updateHost的授权没有完成。阅读完文档后,我的理解是SecurityInterceptor上的@Provider将确保在收到请求后调用其过滤器方法。 任何人都可以帮我找出为什么它不被称为?

回答

3

我发现,我们需要启用Web部署描述符中的基于角色的安全性:

<context-param> 
    <param-name>resteasy.role.based.security</param-name> 
    <param-value>true</param-value> 
    </context-param>