【发布时间】:2021-10-25 21:15:58
【问题描述】:
我想向我的 Ktor 服务器添加关闭路由,但我需要它来要求身份验证。
我正在尝试将关闭 url 放在经过身份验证的路由中,如下所示:
// application.conf
ktor {
deployment {
port = 8080
host = 127.0.0.1
shutdown.url = "/shutdown"
}
}
// Application.kt
routing {
root()
authenticate("authenticated-routes") {
test1()
test2()
shutdown()
}
}
// Routes.kt
fun Route.shutdown() {
get("/shutdown") {
// shutting down
}
}
但不知何故,关闭路由不需要身份验证来关闭服务器(与覆盖Routes.kt中定义的路由的配置有关?)
不幸的是,文档没有给出任何关于如何使关闭路由经过身份验证的提示。关于如何确保不只是任何人都可以调用关闭路由并关闭我的服务器的任何想法?
【问题讨论】:
-
你如何定义
"authenticated-routes"?它应该在install(Authentication)里面 -
绝对是的。我试图让这个例子中的代码保持最小,但我的
install(Authentication)块在那里并且定义明确。您认为我应该编辑问题以添加完整吗?