【发布时间】:2013-11-22 19:26:45
【问题描述】:
我阅读了一份文档“Using the Users Service”并且它有效。 但我想只允许几个用户访问我的 GAE,并限制其他用户。
那么,如何管理我的谷歌应用引擎(使用 golang)的用户帐户?
我将使用“谷歌帐户”系统。
我需要你的帮助。 谢谢!祝你有美好的一天~
【问题讨论】:
标签: google-app-engine go
我阅读了一份文档“Using the Users Service”并且它有效。 但我想只允许几个用户访问我的 GAE,并限制其他用户。
那么,如何管理我的谷歌应用引擎(使用 golang)的用户帐户?
我将使用“谷歌帐户”系统。
我需要你的帮助。 谢谢!祝你有美好的一天~
【问题讨论】:
标签: google-app-engine go
我认为您有两个选择:
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)
}
【讨论】: