gpt4 book ai didi

java - 灰熊/ Jersey : Request injected into ContainerRequestFilter is null

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:19 24 4
gpt4 key购买 nike

我正在尝试实现一个检查某些内容的 ContainerRequestFilter。最终,它将从 SSL 客户端证书中提取通用名称,但我还没有。该过滤器在 Grizzly HTTP 服务器(Grizzly 2.3.8,无 servlet 容器)上运行并位于 JAX-RS 资源(Jersey 2.6)的前面。

当我尝试将 org.glassfish.grizzly.http.server.Request 注入(inject)过滤器时,它为空。

import org.glassfish.grizzly.http.server.Request;

@Provider
@Priority(Priorities.AUTHENTICATION) // somewhat early
@SkpSecureClient // name the filter with my own annotation
public class SecureClientFilter implements ContainerRequestFilter {

private final Logger log = LoggerFactory.getLogger(this.getClass());

@Context
Request request;

@Override
public void filter(ContainerRequestContext requestContext) throws IOException {

if (request == null) {
log.debug("Unable to inject 'request'");
// I always end up here
} else if (request.isSecure()) {
log.warn("Request is not secure!");
// do something, e.g. abort request
} else {
log.debug("Request is secure!");
}
}
}

将请求注入(inject) JAX-RS 资源,注入(inject)成功,我可以使用它。

我做错了什么?

最佳答案

我认为这是 Jersey 的一个错误。刚刚提交了一个问题 https://java.net/jira/browse/JERSEY-2462

关于java - 灰熊/ Jersey : Request injected into ContainerRequestFilter is null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22636372/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com