在 go 中配置 http 基本认证,需要先定义用户名和密码,然后创建 http 认证处理程序。最后,将认证处理程序注册到需要保护的路由,以限制对特定内容的访问。
Go 中如何使用 HTTP 基本认证
HTTP 基本认证是一种使用用户名和密码安全地限制访问 Web 服务器的简单、广泛使用的机制。在 Go 中,您可以通过使用 net/http 包轻松地实现 HTTP 基本认证。
配置 Basic Auth
立即学习“go语言免费学习笔记(深入)”;
要在 Go 中配置 HTTP 基本认证,请执行以下步骤:
定义用户名和密码凭据:
username := "my_username" password := "my_password"
创建 HTTP 认证处理程序:
import "net/http" func basicAuthHandler(w http.ResponseWriter, r *http.Request) { // 检查用户名和密码是否正确 if username == r.Header.Get("Authorization") && password == r.Header.Get("Authorization") { // 认证成功 http.ServeContent(w, r, "protected_content.html") } else { // 认证失败 w.Header().Set("WWW-Authenticate", `Basic realm="Restricted"`) w.WriteHeader(http.StatusUnauthorized) } }
注册认证处理程序
要注册认证处理程序,请将其传递给 http.HandleFunc 函数:
http.HandleFunc("/protected_content", basicAuthHandler)
实战案例
考虑以下场景:您有一个受密码保护的 Web 应用程序,您希望仅允许拥有有效凭据的用户访问。您可以通过以下方式实现此目的:
现在,当用户尝试访问 /protected_content 路由时,他们将被提示输入用户名和密码。如果他们输入正确的凭据,他们将被授权访问受限内容;否则,他们将收到未授权错误。
以上就是Golang 认证:如何使用 HTTP 基本认证的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号