【问题标题】:How can I manage accounts for my google app engine (with golang)?如何管理我的谷歌应用引擎(使用 golang)的帐户?
【发布时间】:2013-11-22 19:26:45
【问题描述】:

我阅读了一份文档“Using the Users Service”并且它有效。 但我想只允许几个用户访问我的 GAE,并限制其他用户。

那么,如何管理我的谷歌应用引擎(使用 golang)的用户帐户?

我将使用“谷歌帐户”系统。

我需要你的帮助。 谢谢!祝你有美好的一天~

【问题讨论】:

    标签: google-app-engine go


    【解决方案1】:

    我认为您有两个选择:
    1.您只能限制您的Google App域的用户,进入管理>>应用程序设置>>身份验证类型。
    2.“appengine/user”包只是给你基本的功能。您可以使用它来检查当前用户的电子邮件是否在允许列表中。

    var allowed = []string{"tom@example.com", "jack@example.com"}
    func handler(w http.ResponseWriter, r *http.Request) {
        c := appengine.NewContext(r)
        u := user.Current(c)
        if u == nil {
            url, err := user.LoginURL(c, r.URL.String())
            if err != nil {
                http.Error(w, err.Error(), http.StatusInternalServerError)
                return
            }
            w.Header().Set("Location", url)
            w.WriteHeader(http.StatusFound)
            return
        }
    
        var granted bool
        for _, email := range allowed {
            if u.Email == email {
               granted = true
               break;
            }
        }
        if !granted {
            http.Error(w, "you're not in the allowed list", 400)
            return
        }
        fmt.Fprintf(w, "Hello, %v!", u)
    }
    

    【讨论】:

    • 哦,我明白了!我必须选择第二个选项.. 非常感谢!你很好..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 2023-03-28
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    相关资源
    最近更新 更多