我正在尝试通过执行以下操作,使用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.任何人都可以帮助我理解为什么会这样以及如何正确构建这些指令?
答案 0 :(得分:1)
就akka http而言,上面的剪辑是正确的,现在工作正常。我的问题来自于在指令层次结构中更高的手动滚动CORS指令,该指令未正确实现。
奇怪的是,IDEA仍在抱怨类型不匹配。