登录
首页 >  Golang >  Go问答

无法检索用户登录信息

来源:stackoverflow

时间:2024-02-25 13:54:24 140浏览 收藏

大家好,今天本人给大家带来文章《无法检索用户登录信息》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

问题内容

你好。我在 google app engine 中使用 go 语言。我无法获取登录用户的信息。同样,无法获取登录url和退出url。全部为零将被退回。 user.isadmin (c) 返回 false。请帮助我。

admin.go

func entry(w http.responsewriter, r *http.request) {
    ...
    c := appengine.newcontext(r)

    inurl, err := user.loginurl(c, "/admin/top/")
    ...
}

func admintop(w http.responsewriter, r *http.request) {
    ...
    c := appengine.newcontext(r)
    booisadmin := user.isadmin(c)
    u := user.current(c)
    outurl, err := user.logouturl(c, "/")
    ...
}
app.yaml

runtime: go116

app_engine_apis: true

handlers:
  - url: /assets/css
    mime_type: text/css
    static_dir: assets/css

  - url: /assets/html
    mime_type: text/html
    static_dir: assets/html

  - url: /assets/img
    static_dir: assets/img

  - url: /admin/.*
    login: require
    script: _go_app

  - url: /.*
    script: _go_app

正确答案


当您在app.yaml中使用login: required时,您可以通过以下标头获取登录用户信息 -

  • X-Appengine-用户 ID
  • X-Appengine-用户昵称
  • X-Appengine-用户电子邮件

我确认了上述在 Go 中的工作原理(在我的本地计算机上运行)

我相信当您使用 Users API 时,相同的标头应该可以工作,但您始终可以转储所有标头来找出您需要的值。

关于使用 User API 获取登录/注销 URL,当我在本地计算机上尝试时,我也得到了空白值,但对于 Go 来说,我是一个新手。您可能想尝试看看部署到生产时调用是否有效

以上就是《无法检索用户登录信息》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>