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

时间:2015-01-08 21:46:06

标签: jersey jetty embedded-jetty jersey-2.0

我试图在Jersey上使用嵌入式JettyHttpContainer。我使用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;
        }

有没有人知道如何正确使用JettyHttpContainer和Jersey SecurityContext?

1 个答案:

答案 0 :(得分:0)

这是一个错误。我已经报道了泽西岛。见https://java.net/jira/browse/JERSEY-2750