2013-10-10 188 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>