@RolesAllowed注释适用于dropwizard资源,但不适用于字段级实体过滤

时间:2017-08-18 17:51:28

标签: java rest jackson jax-rs dropwizard

在我的项目中,我需要根据角色过滤掉字段。不幸的是,它不适合我。

Application.Java

environment.jersey().getResourceConfig()
                 .packages("com.test")
                 .register(SecurityEntityFilteringFeature.class).register(RolesAllowedDynamicFeature.class)
                   .register(JacksonFeature.class);

需要过滤的实体

 @RolesAllowed("edit")
    public List<Participant> getParticipants() {
        return participants;
    }

资源

@Api("test api")
@Path("/api/v1/test")
@Produces(MediaType.APPLICATION_JSON)
@Slf4j
@RolesAllowed("participate")
public class TestResource {
@GET
    @Path("/{id}")
    @ApiOperation(value = "Retrieve by Id", response = TestResponse.class)
    @UnitOfWork
    public Response getById(@PathParam("id") String testtId) {

        return testService.findById(testId));
    }
}

我的登录用户拥有2个权限(编辑,参与),并且在资源级别上运行良好。但它不适用于实体领域。在字段级别,不考虑登录角色,并始终过滤该参与者字段。

0 个答案:

没有答案