我正在使用水滴巫师1.3.9,并致力于迁移到最新的水滴向导2.x。
现在我有一个容器请求过滤器,
如下所示
@Authenticate
public class BasicAuthenticator implements ContainerRequestFilter {
@Context
private HttpServletRequest servletRequest;
private final CollectorChannel collectorChannel ;
private final ConfigStore configStore;
public BasicAuthenticator(final CollectorChannel collectorChannel, final ConfigStore configStore)
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
String requestIpAddress = servletRequest.getRemoteAddr();
String requestHost = servletRequest.getRemoteHost();
logger.info("Request originates from IP {} Host {}", requestIpAddress, requestHost);
String authHeader = requestContext.getHeaderString("Authorization");
Optional<User> user = AuthUtils.getUserBasicAuth(authHeader);
if (!user.isPresent()) {
requestContext.abortWith(responseUnAuthenticated());
return;
}
if (!isAuthentic(user.get())) {
requestContext.abortWith(responseUnAuthenticated());
}
if (!isValidLiSource(requestIpAddress) && !isValidLiSource(requestHost)) {
requestContext.abortWith(responseUnauthorized());
return;
}
}
}
我注册如下
final BasicAuthenticator basicAuthenticator = new BasicAuthenticator(collectorChannel, configStore);
environment.jersey().register(basicAuthenticator);
在迁移文档中提到:
将具有字段上下文注入的资源实例迁移到Dropwizard 2.0包括将字段推入所需endpoint的参数中
但是 filter()
方法不会获取上下文作为参数。有人可以让我知道在2.x中注册容器请求过滤器
的推荐方法是什么?
正如@Paul Samostha在上面指出的,也是在下面的论坛中回答的
嗯,迁移指南讨论了资源实例,但不包含请求过滤器。值得一提的是,我在2.0.8中尝试了这种方法,使用了一个字段注入上下文和实例注册,正如您在上面所写的,它似乎对我有效。HttpServletRequest被注入,并在过滤器执行时可用。
本文向大家介绍React组件命名推荐的方式是哪个?为什么不推荐使用displayName?相关面试题,主要包含被问及React组件命名推荐的方式是哪个?为什么不推荐使用displayName?时的应答技巧和注意事项,需要的朋友参考一下 [react] React组件命名推荐的方式是哪个?为什么不推荐使用displayName?
问题内容: 我需要将TextField的输入限制为整数。有什么建议吗? 问题答案: 线程很旧,但是看起来更整洁,并且如果粘贴则去除非数字字符。
我可以使用以下任意一种方式在Python中绘图: 或: 两者都使用。 推荐哪种方法作为正确的绘图方法?为什么?
在过去的2-3天里,我已经用weblogic+JTA使Spring4.x、Hibernate4.x与weblogic+JTA一起工作 我需要(我认为我需要)配置的东西之一是: 我在hibernate-hibernate-3.1.3.jar 中看到了这个类,但在hibernate-hibernate-core-4.3.10.final.jar中没有看到这个类 谷歌没有告诉我任何事情,我得到的只是3.
问题内容: 我在中有一个列表对象。长按一个项目时,我要显示一个对话框,其中包含单击的项目中的数据。 所述使用数据的每个项目的结合和我能够显示用Log长按当从所选择的项目数据。 但是,当尝试显示对话框时,您需要转到,建议不要在对象中使用。 那么如何显示对话框? 谢谢,Ove 问题答案: 从概念上讲,ViewModel使我误认为是启动Dialog的错误位置。为了更简洁地执行此操作,我将把Recycle
问题内容: 我有一个正在使用的旧代码。 这里是我的代码,其中和已经导入。 在这里,我有些疑问,我编写的代码可以正常工作,但是由于现在不推荐使用,所以我想删除它。我浏览了许多文档,发现使用门户或引用代替了此。我的理解是,如果我使用ref,那么变量get bind到该变量也可以访问DOM元素,但是我想我错了,因为它以这种方式工作。有人可以纠正我对此的理解 问题答案: 根据 此github问题 和 Re