Example #1
0
File: auth.py Project: ayang/diding
 def post(self):
     email = self.get_argument("email", "")
     password = self.get_argument("password", "")
     user_manager = UserManager()
     user = user_manager.get_by_local_account(email)
     if user is not None:
         if user_manager.authenticate(user, password):
             userid = str(user["uid"])
             self.set_secure_cookie("user", userid)
             self.redirect(self.get_argument("next", "/"))
     return self.get()
Example #2
0
 def post(self):
     name = self.get_argument('name', "")
     email = self.get_argument('email', "")
     password = self.get_argument('password', "")
     password2 = self.get_argument('password2', "")
     error = []
     user_manager = UserManager()
     if password != password2:
         self.form["password2"].error = True
         error.append("密码不匹配")
     if len(password) < 8:
         self.form["password"].error = True
         error.append("密码长度不够")
     if len(name) < 3:
         self.form["name"].error = True
         error.append("昵称太短")
     if len(email) < 6 or "@" not in email:
         self.form["email"].error = True
         error.append("Email格式不正确")
     elif user_manager.get_by_local_account(email):
         self.form["email"].error = True
         error.append(u"%s 电子邮件已经有人注册过了" % email)
     if error:
         self.form["name"].value = name
         self.form["email"].value = email
         self.render("accounts/signup.html", form=self.form, errors=error)
     else:
         account = {
             "name": name,
             "email": email,
             "password": user_manager.hash_password(password),
         }
         user = user_manager.create(email, name, {"local": account})
         userid = str(user["uid"])
         self.set_secure_cookie("user", userid)
         self.redirect(self.get_argument("next", "/"))