Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 我如何管理我的谷歌应用程序引擎(golang)的帐户?_Google App Engine_Go - Fatal编程技术网

Google app engine 我如何管理我的谷歌应用程序引擎(golang)的帐户?

Google app engine 我如何管理我的谷歌应用程序引擎(golang)的帐户?,google-app-engine,go,Google App Engine,Go,我读了一份文件“”,它是有效的。 但我想只允许几个用户访问我的GAE,并限制其他用户 那么,我如何管理我的谷歌应用程序引擎(golang)的用户帐户 我将使用“谷歌帐户”系统 我需要你的帮助。 非常感谢。祝你今天愉快~我想你有两个选择: 1.您只能限制您的Google应用程序域的用户,请转到管理>>应用程序设置>>身份验证类型。 2.“appengine/user”包只提供基本功能。您可以使用它来检查当前用户的电子邮件是否在允许列表中 var allowed = []string{"tom@ex

我读了一份文件“”,它是有效的。 但我想只允许几个用户访问我的GAE,并限制其他用户

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

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

我需要你的帮助。
非常感谢。祝你今天愉快~

我想你有两个选择:
1.您只能限制您的Google应用程序域的用户,请转到管理>>应用程序设置>>身份验证类型。
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)
}

哦,我明白了!我不得不选择第二种选择。。非常感谢你!你很好。。