gpt4 book ai didi

Scala/Play http 身份验证问题 - 从请求中获取用户名和密码

转载 作者:可可西里 更新时间:2023-11-01 16:38:01 27 4
gpt4 key购买 nike

我正在使用 Firefox“REST Easy”插件在我的 Play 应用程序中测试 HTTP 身份验证。这是请求 URL 在 Firebug 中的样子:

http://username:password@localhost:9001/test

我的 Play Controller 中的方法如下所示:

def test = Action { implicit request =>

request.headers.get("Authorization") match {
case Some(header) => println(header)
case None => {
println("send user name and password")
Unauthorized.withHeaders("WWW-Authenticate" -> "Basic realm=\"myrealm\"")
}
}

Ok("")

}

我在我的控制台中收到“发送用户名和密码”,但没有其他任何反应。我做错了什么以及如何从请求中获取用户名和密码?

最佳答案

您的代码工作正常,问题出在您使用的浏览器插件上。不知何故,它不适用于基本身份验证,因为如果您将 println(request.headers) 调用添加为操作主体的第一行,您会看到它不在那里,而如果您使用 curl,它就在那里!

我对您给定的代码使用了以下命令:

curl --user name:password http://localhost:9000/test

结果是:

Basic bmFtZTpwYXNzd29yZA==

如此有效!

关于Scala/Play http 身份验证问题 - 从请求中获取用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22095925/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com