我有一個需要實現安全性的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
提交
取消