在我的项目中,我需要根据角色过滤掉字段。不幸的是,它不适合我。
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个权限(编辑,参与),并且在资源级别上运行良好。但它不适用于实体领域。在字段级别,不考虑登录角色,并始终过滤该参与者字段。