跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Golang 认证:如何使用 HTTP 基本认证

在 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 应用程序,您希望仅允许拥有有效凭据的用户访问。您可以通过以下方式实现此目的: 在 Go 应用程序中配置 HTTP 基本认证,如上面所示。 在 Web 应用程序中创建需要保护的受限路由
/protected_content
。 将
basicAuthHandler
认证处理程序注册到
/protected_content
路由。 现在,当用户尝试访问
/protected_content
路由时,他们将被提示输入用户名和密码。如果他们输入正确的凭据,他们将被授权访问受限内容;否则,他们将收到未授权错误。

相关文章