英文:
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"
。
所以,如果您有一个名为 w
的 http.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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论