Jersey SecurityContext.isUserInRole 在 Jetty Embedded 上运行时始终为 false

Jersey SecurityContext.isUserInRole always false when running on Jetty Embedded

我正在尝试将嵌入式 JettyHttpContainer 与 Jersey 一起使用。我使用 BasicAuthenticator,一切正常:

@GET
@Produces(MediaType.APPLICATION_JSON)
@PermitAll
public Response getData(@Context SecurityContext securityContext) {
    if (securityContext.isUserInRole(Roles.ADMIN)) {
       do something...

问题是,securityContext.isUserInRole(Request) 总是错误的,查看源代码,原因很明显:

JettyHttpContainer:214 ...

private SecurityContext getSecurityContext(final Request request) {
    return new SecurityContext() {

        @Override
        public boolean isUserInRole(String role) {
            return false;
        }

有人知道如何正确使用 Jersey SecurityContext 的 JettyHttpContainer 吗?

这是一个错误。我已经针对 Jersey 进行了报告。参见 https://java.net/jira/browse/JERSEY-2750