Exemple #1
0
    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])
Exemple #2
0
    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])
Exemple #3
0
 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
Exemple #4
0
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'))
Exemple #5
0
    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')
Exemple #6
0
    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("/")
Exemple #7
0
	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)
Exemple #9
0
				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_
Exemple #11
0
    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
Exemple #12
0
 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
Exemple #13
0
 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)
Exemple #16
0
 def identity(cls, user_id):
     return User.find_by_id(user_id)
Exemple #17
0
    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_