Google App Engine 入门:用户系统服务
五月 4th, 2008
(本文译自:Google App Engine Getting Started)
Google App Engine 在其SDK中提供了很多有用的服务。其中之一就是用户系统服务,这个服务让我们可以轻松的集成Google的用户帐号系统,这样使用我们的应用的用户,就不需要注册单独的帐号,直接使用现有的Google帐号就可以登录了。
下面,我们为Hello word加入用户判断功能。
使用Users
重新编辑helloworld/helloworld.py, 将代码修改如下:
import wsgiref.handlers刷新页面,你会发现直接跳转到了本地模拟的Google登录页面了,在这个页面输入你的用户名,你的web应用程序就会为你生成一个
from google.appengine.api import users
from google.appengine.ext import webapp
class MainPage(webapp.RequestHandler):
def get(self):
user = users.get_current_user()
if user:
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, ' + user.nickname())
else:
self.redirect(users.create_login_url(self.request.uri))
def main():
application = webapp.WSGIApplication(
[('/', MainPage)],
debug=True)
wsgiref.handlers.CGIHandler().run(application)
if __name__ == "__main__":
main()
User 对象。
当你发布你的应用之后,这个程序将会直接跳转到真正的Google登录页面,等你登录成功后再跳转到你的程序页面。
The Users API
我们仔细查看一下代码:user = users.get_current_user()如果用户已经登录,
get_current_user() 返回 User 对象,否则返回 None.
if user:如果用户已经登录,向登录用户显示一段欢迎信息
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, ' + user.nickname())
else:如果用户尚未登录, 调用
self.redirect(users.create_login_url(self.request.uri))
webapp 跳转到Google 帐号登录页面。这个跳转页面包含了登录成功后要返回的URL (self.request.uri),用户登录成功后,就会回到指定的页面了。
想了解更多信息, 请查看 the Users reference.
请问,我用了micolog 上传到 google app eng 了,当我切换到管理面板时,需要登入,但我是用自已的域名和邮件地址(非gmail,申请了app套件)注册的gae,它现在只能用 gmail 来登入,如何解决? 还是有其它我没注意的地方?
为什么搞个这么简单的计算.... ....
楼主玩得很有瘾,就是不介绍Java的开发,,,这样有相当部分的人看着会累~~~~
~这个功能用的很少~
asdasd
请问登录的页面能不能转到中文界面
麻烦问下 我按照上边代码输入 怎么刷新出来成空白页面了呢?
当然可以不用Google Account进行登录了,不过这种情况下,需要自己处理所有的细节,比如cookie,已经判断用户是否登录等等。。。
如果使用Google Account方式登录,就不需要处理任何东西了,效果和使用.net form authorization是一样的。
我想問,能不用google account 作為登入嗎。
還一個白痴問題,有像 .net 的form authorization 的操作嗎?
還是,每一個頁面都要查一下用戶狀態呢?
謝謝