コード例 #1
0
ファイル: LoginHandler.py プロジェクト: gitsubash/jt-classes
 def post(self):
     username = self.request.get('username')
     password = self.request.get('password')
     error = ''
     url = self.request.url
     url = url[:url.rfind('/login')]
     url = url[url.rfind('/') + 1:]
     if not validUser(username): error = 'Invalid user name or password.'
     else:
         q = db.GqlQuery('select * from User where name = :1', username)
         user = q.get()
         if not user: error = 'Invalid user name or password.'
     if not validPassword(password):
         error = 'Invalid user name or password.'
     if error: self.render_login(username, error, url)
     else:
         pwHasher = PasswordHash()
         if pwHasher.valid_pw(username, password, user.pwHash):
             cookieHasher = CookieHash()
             cookieHash = cookieHasher.make_secure_val(str(user.key().id()))
             self.response.set_cookie('user_id', cookieHash)
             self.redirect('/%s/' % url)
         else:
             error = 'Invalid user name or password.'
             self.render_login(username, error, url)
コード例 #2
0
ファイル: SignupHandler.py プロジェクト: gitsubash/jt-classes
 def post(self):
     username = self.request.get('username')
     password = self.request.get('password')
     verify = self.request.get('verify')
     email = self.request.get('email')
     uError = pError = vError = eError = ''
     if not validUser(username): uError = 'That is not a valid user name.'
     else:
         q = db.GqlQuery('select * from User where name = :1', username)
         user = q.get()
         if user: uError = 'That user name already exists'
     if not validPassword(password):
         pError = 'That is not a valid password.'
     if password != verify: vError = 'The passwords do not match.'
     if email and not validEmail(email):
         eError = 'That is not a valid email address.'
     if uError or pError or vError or eError:
         self.render_signup(username, uError, pError, vError, email, eError)
     else:
         pwHasher = PasswordHash()
         pwHash = pwHasher.make_pw_hash(username, password)
         user = User(name = username, pwHash = pwHash, email = email)
         user.put()
         cookieHasher = CookieHash()
         cookieHash = cookieHasher.make_secure_val(str(user.key().id()))
         self.response.set_cookie('user_id', cookieHash)
         url = self.request.url
         url = url[:url.rfind('/signup')]
         url = url[url.rfind('/') + 1:]
         self.redirect('/%s/' % url)
コード例 #3
0
 def get(self):
     userIdHash = self.request.cookies.get('user_id')
     if not userIdHash: self.redirect('/blog/signup')
     else:
         cookieHasher = CookieHash()
         userId = cookieHasher.check_secure_val(userIdHash)
         if not userId: self.redirect('/blog/signup')
         else:
             user = User.get_by_id(int(userId))
             self.render('welcome.html', username = user.name)
コード例 #4
0
 def get(self, title):
     content = ''
     wikiEntry = getWikiEntry(title)
     if wikiEntry: content = wikiEntry.content
     userIdHash = self.request.cookies.get('user_id')
     if not userIdHash:
         self.redirect('/wiki%s' % title)
     else:
         cookieHasher = CookieHash()
         userId = cookieHasher.check_secure_val(userIdHash)
         if not userId:
             self.redirect('/wiki%s' % title)
         self.render("newWikiEntry.html", title = title,
                     content = content)
コード例 #5
0
 def get(self, title):
     loggedIn = False
     userIdHash = self.request.cookies.get('user_id')
     if userIdHash:
         cookieHasher = CookieHash()
         userId = cookieHasher.check_secure_val(userIdHash)
         if userId: loggedIn = True
     wikiEntry = getWikiEntry(title)
     if None == wikiEntry:
         if not loggedIn:
             self.renderWikiEntry(wikiEntry = wikiEntry, title = title)
         else:
             self.redirect('/wiki/_edit%s' % title)
     else:
         self.renderWikiEntry(wikiEntry = wikiEntry, loggedIn = loggedIn,
                              title = title)