使用Golang进行HTTP基本身份验证

huangapple go评论91阅读模式
英文:

HTTP Basic Auth with Golang

问题

如何在 Golang 网站中实现基本身份验证?这样当有人访问页面时,他们的浏览器会提示他们进行登录。

英文:

How do I implement basic auth with a Golang site? So that when someone visits a page they will be prompted by their browser with a login.

答案1

得分: 6

为了强制用户进行身份验证/使用户浏览器中的基本身份验证提示出现,您可以发送头部信息 WWW-Authenticate : Basic realm="mydomain"

所以,如果您有一个名为 whttp.ResponseWriter,您可以这样做:

w.Header().Set("WWW-Authenticate", `Basic realm="mydomain"`)

这将导致浏览器打开您所提到的提示框。

英文:

In order to force a user to authenticate/make that basic auth prompt in the users browser appear you send the header WWW-Authenticate : Basic ream="mydomain"

So if you have a http.ResponseWriter called w, you can do

 w.Header().Set("WWW-Authenticate", `Basic realm="mydomain"`)

Which will cause the browser to open the prompt you're referring to.

答案2

得分: 0

你也可以使用Echo的labstack项目,它提供了基本身份验证中间件:

e.Use(middleware.BasicAuth(func(username, password string, c echo.Context) (bool, error) {
    // 在这里检查用户名和密码是否匹配
}))

使用上述代码可以对任何路由组进行基本身份验证保护。

英文:

You could also use Echo's labstack project, which provides Basic Auth middleware:

e.Use(middleware.BasicAuth(func(username, password string, c echo.Context) (bool, error) {
	// check username and password for a match here
}))

Use the code above to protect any route groups with basic authentication.

huangapple
  • 本文由 发表于 2016年3月24日 04:13:28
  • 转载请务必保留本文链接:https://go.coder-hub.com/36187853.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定