def _doPost(self, dataObject): if "email" in dataObject and "password" in dataObject: UM = UserMapper() ATM = ApitokenMapper() # Build user and token objects user = User() if not checkEmail(dataObject["email"]): raise BadRequest("The e-mail supplied was invalid.") user.setEmail(dataObject["email"]) user.setPreHash(dataObject["password"]) user.setRegistered(True) token = Apitoken() token.setUser(user) token.setToken(getKey()) # Save changes to user try: UM.insert(user) # handle the possibility the user already exists except mdb.IntegrityError, e: raise Conflict( "A user with that e-mail address exists already.") # handle all other DB errors except mdb.DatabaseError, e: raise ServerError( "Unable to create user in the database (%s)" % e.args[1])
def _doPost(self, dataObject): if "email" in dataObject and "password" in dataObject: UM = UserMapper() ATM = ApitokenMapper() # Build user and token objects user = User() if not checkEmail(dataObject["email"]): raise BadRequest("The e-mail supplied was invalid.") user.setEmail(dataObject["email"]) user.setPreHash(dataObject["password"]) user.setRegistered(True) token = Apitoken() token.setUser(user) token.setToken(getKey()) # Save changes to user try: UM.insert(user) # handle the possibility the user already exists except mdb.IntegrityError, e: raise Conflict("A user with that e-mail address exists already.") # handle all other DB errors except mdb.DatabaseError, e: raise ServerError("Unable to create user in the database (%s)" % e.args[1])
def get_user_by_id(self, id): connection = self.connect.get_connection() cursor = connection.cursor() cursor.execute("SELECT * FROM `user` WHERE id = %s " % (id)) result = cursor.fetchone() cursor.close() user_to_return = User(result[1], result[2], result[3]).set_id(result[0]) if not result: return "no user found" return user_to_return
def signup(): if request.method == 'GET': return render_template('signup.html') email = request.form.get('email') username = request.form.get('username') password = request.form.get('password') user = User(username=username, password=password, email=email) db.session.add(user) db.session.commit() flash("User successfully registered") return redirect(url_for('login'))
def login(): if request.method == 'POST': user_name = request.form.get('user_name') remember_me = (request.form.get('remember_me', default="") != "") user = query_user(user_name=user_name) if user is not None and request.form['password'] == user['password']: curr_user = User() curr_user.id = user['id'] # 通过Flask-Login的login_user方法登录用户 login_user(curr_user, remember=remember_me) next_url = request.args.get('next', default="", type=str) if next_url == "": return redirect(url_for('index')) else: return redirect(next_url) flash('Wrong username or password!') flash('Please Try again!') # GET 请求 return render_template('login.html')
def register(): """.""" name = request.form.get("name") email = request.form.get("email") username = request.form.get("username") password = request.form.get("password").encode("utf-8") salt = bcrypt.gensalt() password = bcrypt.hashpw(password, salt).decode("utf-8") me = User(name=name, email=email, username=username, password=password) db.session.add(me) db.session.commit() return redirect("/")
def _doPost(self, dataObject): print str(dataObject) if "email" in dataObject and "password" in dataObject: try: UserMapper = UM.UserMapper() ApitokenMapper = ATM.ApitokenMapper() # Get the user by E-mail acidtest = UserMapper.getUserByEmail(dataObject["email"]) if acidtest is None: user = User() if not checkEmail(dataObject["email"]): raise BadRequest("The e-mail supplied was invalid.") user.setEmail(dataObject["email"]) user.setPreHash(dataObject["password"]) token = Apitoken() token.setUser(user) token.setToken(getKey()) user.setToken(token) UserMapper.insert(user) # Retrieve user with ID this time user = UserMapper.getUserByEmail(dataObject["email"]) ApitokenMapper.insert(token) return self._response(token.dict(), CODE.CREATED) else: raise RequestError(CODE.CONFLICT, "A user with that e-mail address exists already.") except mdb.DatabaseError, e: import traceback, sys traceback.print_exc(file=sys.stdout) raise ServerError("Unable to search the user database (%s)" % e.args[1])
from werkzeug.security import safe_str_cmp from Model.user import User users = [ User(1, 'Saravanan', '@123'), # User(2, 'Kamakodu Raghuprasad', '@321'), ] username_table = {u.username: u for u in users} userid_table = {u.id: u for u in users} def authenticate(username, password): user = username_table.get(username, None) if user and safe_str_cmp(user.password, password): return user def identity(payload): userid = payload['identity'] return userid_table.get(userid, None)
rdata["user"] = selectedUser.dict(1) return self._response(rdata, CODE.CREATED) except mdb.DatabaseError, e: raise ServerError("Unable to get API key from the database (%s: %s)" % e.args[0], e.args[1]) else: # Anonymous login rdata = {} token = Apitoken() token.setToken(getKey()) blank = User() blank.setToken(token) token.setUser(blank) umapper = UserMapper() ATM = ApitokenMapper() blank.setRegistered(False) # Save changes to user try: umapper.insert(blank) # handle the possibility the user already exists except mdb.IntegrityError, e: raise Conflict(CODE.CONFLICT, "A unexpected conflict occurred when trying to create your anonymous login token.")
def _doCreateObject(self, data): """Specifics required to build a User object given persistent storage data""" from Model.user import User user_ = User(data["id"]) user_.setName(data["name"]) user_.setPhoto(data["photo"]) user_.setEmail(data["email"]) user_.setPassword(data["password"]) user_.setTime(data["time"]) if data["registered"] == 1: user_.setRegistered(True) else: user_.setRegistered(False) return user_
def load_user(user_id): if query_user(user_id=user_id) is not None: curr_user = User() curr_user.id = user_id return curr_user
def FirstTime(cls, username, password1, password2): if strcmp(password1, password2): newPassword = generate_password_hash(password, method='sha256') User.NewPassword(username, newPassword) return True return False
def authenticate(cls, username, password): user = User.find_by_username(username) if user and check_password_hash(user.Password, password): return user
rdata["user"] = Depth.build(selectedUser, 1) return self._response(rdata, CODE.CREATED) except mdb.DatabaseError, e: raise ServerError("Unable to get API key from the database (%d: %s)" % e.args[0], e.args[1]) else: # Anonymous login rdata = {} token = Apitoken() token.setToken(getKey()) blank = User() blank.setToken(token) token.setUser(blank) umapper = UserMapper() ATM = ApitokenMapper() blank.setRegistered(False) # Save changes to user try: umapper.insert(blank) # handle the possibility the user already exists except mdb.IntegrityError, e: raise Conflict(CODE.CONFLICT, "A unexpected conflict occurred when trying to create your anonymous login token.")
from Model.user import User from Repository.user_repository import UserRepository from datetime import datetime import hashlib import os user = User('user2', hashlib.sha256('test'.encode()).hexdigest(), datetime.now().strftime('%Y-%m-%d %H:%M:%S')) user_repository = UserRepository() user_repository.create_user(user) if type(user_repository.get_user_by_id(1)) is User: user = user_repository.get_user_by_id(1) user.email = "*****@*****.**" user_repository.update_user(user) print(user.email)
def identity(cls, user_id): return User.find_by_id(user_id)