Я пытаюсь реализовать свой собственный ContainerRequestFilter
и настроить SecurityContext
. Он хорошо работает на jax-rs-ресурсах, но EJB jax-rs throws javax.ejb.AccessLocalException
Джерси пользовательский SecurityContext на EJB ресурс jax-rs
Только релевантная вещь, которую я нашел, составляет 4 года, и обходной путь не кажется красивым. https://java.net/projects/jersey/lists/users/archive/2010-05/message/265
Мой заказ SecurityContext:
@Provider
@PreMatching
public class SecurityFilter implements ContainerRequestFilter {
@Override
public void filter(ContainerRequestContext filterContext) throws IOException {
filterContext.setSecurityContext(new Authorizer());
}
public class Authorizer implements SecurityContext {
public Principal getUserPrincipal() {
return null;
}
public boolean isUserInRole(String role) {
return true;
}
public boolean isSecure() {
return false;
}
public String getAuthenticationScheme() {
return null;
}
}
Испытано ресурс (работает без @Stateless)
@Path("test")
@Stateless
public class TestSecureResource {
@GET
@RolesAllowed("admin")
@Path("admin")
public Response secureTest() {
return Response.status(200).entity("admin").build();
}
}
ли кто-нибудь знает, как сделать эту работу?