piątek, 24 kwietnia 2009

Google App Engine :: Klasa User

Google App Engine sprytnie rozwiązuje kwestie użytkowników, także przy tworzeniu aplikacji możemy łatwo wykorzystać klasę user z google api ( from google.appengine.api import users). Wystarczy, że użytkownik posiada konto w google, a my w łatwy sposób możemy 'wyciągnąć': nickname, user_id oraz jego adres mailowy.
Służą do tego metody - odpowiednio:
  1. nickname()
  2. user_id()
  3. email()
Co więcej dla naszego użytkownika przewidziany jest odpowiedni typ w bazie danych
- db.UserProperty()

A teraz zakładamy scenariusz: jak użytkownik nie jest zalogowany to przekierowywujemy go na stronę logowania, a jak jest zalogowany to wyświetlamy jego nickname oraz dajemy możliwość wylogowania się.


user = users.get_current_user()
if user:
self.response.out.write(user.nickname() + """ |
<a href="users.create_logout_url(self.request.uri)" >
Sign out</a>""")
else:
self.redirect(users.create_login_url(self.request.uri))


jeszcze możemy sprawdzić czy użytkownik ma uprawnienia administratora:
is_current_user_admin() - zwraca True jeśli tak.

Źródło (więcej na): http://code.google.com/appengine/docs/python/gettingstarted/

Brak komentarzy: