【发布时间】:2021-03-10 08:45:34
【问题描述】:
我有一个基于 Vertx (3.9.x) 的 HTTP 服务器,我需要在其中满足两组请求路径。第一个路径总是需要客户端证书 (ClientAuth.REQUIRED),而另一个路径是可选的客户端证书(ClientAuth.REQUEST 或 ClientAuth.NONE)。
如我所见,唯一可以设置ClientAuth的地方是HttpServerOptions,它绑定到特定端口,示例代码sn-p如下:
final HttpServerOptions options = new HttpServerOptions()
.setPort(443)
.setClientAuth(ClientAuth.REQUIRED) // One option per listening port.
// Set all other server options
路由器的配置有点像下面:
final Router router = Router.router(vertx);
router.route("/required-client-cert/").handler(this::handleMutualAuth);
router.route("/no-need-client-cert/").handler(this::handleRegularAuth);
// Any one of the above routes can work anytime, because ClientAuth is configured in server options.
是否可以在单个 Vertx 应用程序中处理此问题?如果是,怎么做?
在单端口监听时有什么替代方法吗?
谢谢。
【问题讨论】:
标签: java vert.x mutual-authentication vertxoptions