System użytkowników w Google App Engine
14 September 2008
Comments
Google App Engine zawiera komponenty umożliwiające integrację z usługami Google, takimi jak system użytkowników. Za jego pomocą możemy wprowadzić do naszych aplikacji system logowania/"rejestracji" oparty o konta Google. Poniżej prosty przykład. Zmień zawartość helloworld/helloworld.py na:
from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
class MainPage(webapp.RequestHandler):
def get(self):
user = users.get_current_user()
if user:
self.response.headers['Content-Type'] = 'text/html; charset=utf-8'
self.response.out.write('Witaj, ' + user.nickname())
else:
self.redirect(users.create_login_url(self.request.uri))
application = webapp.WSGIApplication(
[('/', MainPage)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
Jeżeli użytkownik jest zalogowany funkcja get_current_user() zwróci obiekt User, zawierający podstawowe dane, a w przeciwnym wypadku - None. Jeżeli użytkownik nie jest zalogowany to przenosimy go do strony logowania:
self.redirect(users.create_login_url(self.request.uri))
. Podany jako argument self.request.uri służy do powrotu użytkownika na naszą stronę po pomyślnym zalogowaniu.
RkBlog
Comment article