我有一个需要实现安全性的API。但是不调用过滤器。我的电话直接转接到端点...我的安全界面@NameBinding@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE,ElementType.METHOD})public @interface Seguro {}我的筛选器@Seguro@Provider@Priority(Priorities.AUTHENTICATION)public class FiltroAutenticacao implements ContainerRequestFilter {@Overridepublic void filter(ContainerRequestContext requestContext) throws IOException { String authorizationHeader = requestContext.getHeaderString(HttpHeaders.AUTHORIZATION); if (authorizationHeader == null || !authorizationHeader.startsWith("Bearer ")) { throw new NotAuthorizedException("Authorization header precisa ser provido"); } String token = authorizationHeader.substring("Bearer".length()).trim(); try { ... } catch (Exception e) { ... }}}我的方法需要进行身份验证。@Seguro@GET@Path("/metodo-teste")@Produces("application/json")public Response medotoTeste(@QueryParam("codigo") String codigo){ ModeloTesteTO to = new ModeloTesteTO("codigo enviado foi " + codigo); return Response.ok(to, MediaType.APPLICATION_JSON).build();}我还需要执行其他任何操作吗?
1 回答

慕村9548890
TA贡献1884条经验 获得超4个赞
我发现了这个问题,是在Paul建议尝试在Glassfish上发布Jersey 2的应用程序之后,我发现了Glassfish版本中的不兼容问题。Glassfish 4.0不支持jersey 2,但4.1.2版本是。我迁移了服务器并解决了问题。
添加回答
举报
0/150
提交
取消