我是Vert.X的新手。
Vert.x是否有用于集中筛选的内置设施?我的意思是您将在J2EE应用程序上使用的过滤器类型。
例如,所有页面都必须经过auth过滤器,或者类似的东西。
在Vert.x中有没有标准化的方法来实现这一点?
发布于 2017-09-03 00:11:11
我知道这个问题很老了,但是对于那些在Vertx3中还在寻找过滤器的人来说,解决方案就是使用subRouter作为过滤器:
// Your regular routes
router.route("/").handler((ctx) -> {
ctx.response().end("...");
});
// Have more routes here...
Router filterRouter = Router.router(vertx);
filterRouter.get().handler((ctx)->{
// Do something smart
// Forward to your actual router
ctx.next();
});
filterRouter.mountSubRouter("/", router);发布于 2015-03-29 16:04:42
过滤是servlet容器中责任链的一种实现。Vert.x没有这种概念,但使用yoke (或新版本中的顶点),您可以很容易地重现这种行为。
查看路由部分:https://github.com/vert-x3/vertx-web/blob/master/vertx-web/src/main/asciidoc/index.adoc
HTH,
卡洛
发布于 2015-03-19 13:53:47
Vert.x对应该处理多少事情没有意见。但一般来说,在Vert.x2中,这些类型的特性通常被实现为“总线模块”(即通过事件总线接收输入和产生输出的模块/顶点)。事实上,身份验证管理器模块可以帮助您更好地理解这是如何实现的:https://github.com/vert-x/mod-auth-mgr
在Vert.x 3中,模块系统将消失,但模式将保持不变。在Vert.x上构建的一些更高级别的框架可能会支持这些类型的过滤器,但Vert.x核心不会。
如果还建议您在Vert.x上开始构建web应用程序,请查看Vert.x Apex:https://github.com/vert-x3/vertx-apex
https://stackoverflow.com/questions/29132464
复制相似问题