【发布时间】:2017-11-04 02:09:50
【问题描述】:
我正在尝试通过执行以下操作向使用 akka http 10.0.10 的路由添加基本身份验证:
def myUserPassAuthenticator(credentials: Credentials): Option[String] =
credentials match {
case p @ Credentials.Provided(id) if p.verify("p4ssw0rd") => Some(id)
case _ => None
}
val routes: Route =
pathPrefix("foo") {
authenticateBasic(realm = "secure site", myUserPassAuthenticator) { user =>
path("bar") {
pathEndOrSingleSlash {
complete("bla")
}
}
}
}
这可以编译,但 IDEA 向我显示以下错误:
Type mismatch, expected L => server.Route, actual String => server.Route
另外加载 localhost:9000/foo/bar 会返回 404。谁能帮我理解这是为什么以及如何正确构建这些指令?
【问题讨论】:
-
你导入了import akka.http.scaladsl.server.Directives._??好像还可以
-
是的,我确实导入了 akka.http.scaladsl.server.Directives._