예제 #1
0
    def test_password_salts_are_random(self):
        u = User()
        u.password = '******'
        u2 = User()
        u2.password = '******'

        self.assertTrue(u.password_hash != u2.password_hash)
예제 #2
0
def add_user():
    # person = User(username='******', password='******')
    # session.add(person)
    # 增加多条数据
    session.add_all([User(username='******', password='******'), \
                     User(username='******', password='******')])

    session.commit()
예제 #3
0
def signup():
    '''
  Register a new user.
  '''
    user = None
    pass_verified = None
    next = request.args.get('next', None)
    if request.method == 'POST':
        try:
            user = User()
            user.fill(**request.form.to_dict())
            pass_verified = request.form.get('verify') == request.form.get(
                'password')  # NOQA
            if user.valid() and user.unique and pass_verified:
                user.put()
                sec.token = {'usr': user.username, 'uid': user.uid}
                return redirect(next or url_for('root'))
        except Exception as ex:
            print('bad user')
            print(ex)
            return abort(500)
    return render_template('signup.html',
                           page=None,
                           user=user,
                           form_action=url_for('signup', next=next),
                           next=next,
                           pass_verified=pass_verified)
예제 #4
0
파일: user.py 프로젝트: mpdavis/vinz
def create_user(operator,
                first_name,
                last_name,
                email,
                username,
                password,
                is_admin=False,
                **kwargs):
    """
    Create a new user in the database with the given values.
    """
    # TODO Auditable stuff
    existing_user = maybe_get_user_by_email(email)
    if existing_user:
        raise UserAlreadyExistsError("A user with that email address exists.")
    name = "%s %s" % (first_name, last_name)
    lower_name = name.lower()
    user = User(first_name=first_name,
                last_name=last_name,
                email=email,
                username=username,
                lowercase_display_name=lower_name,
                is_admin=is_admin)
    user.password = User.encode_password(password)
    user.save()
    activity_log.log_user_created(user, operator)
    return user
예제 #5
0
def register():
    try:
        data = request.json
        email, password = data["email"], data["password"]

        if User.query.filter_by(email=email).count() > 0:
            return response(status=constants.ERROR,
                            message=constants.EMAIL_ALREADY_EXISTS)

        if not validate_email(email):
            return response(status=constants.ERROR,
                            message=constants.INVALID_EMAIL)

        user = User()
        user.email = email
        user.password = sha256_crypt.encrypt(str(password))

        db.session.add(user)
        db.session.commit()

        return response(status=constants.SUCCESS,
                        message=constants.REGISTRATION_SUCCESS)
    except Exception:
        return response(status=constants.ERROR,
                        message=constants.SOMETHING_WENT_WRONG,
                        status_code=422)
예제 #6
0
def signin():
    '''
  Verify and signin a user.
  '''
    user = None
    user_verified = False
    pass_verified = False
    next = request.args.get('next', None)
    if request.method == 'POST':
        try:
            user = User.query(User.username == request.form.get(
                'username', '')).get()  # NOQA
        except Exception as ex:
            pass
        user_verified = True if user else False
        if (user and user.password and User.password.verify(
                request.form.get('password'), user.password)):
            sec.token = {'usr': user.username, 'uid': user.uid}
            pass_verified = True
            return redirect(next or url_for('root'))
        else:
            user = User()
            user.fill(username=request.form.get('username'))
    return render_template('signin.html',
                           page=None,
                           user=user,
                           form_action=url_for('signin', next=next),
                           next=next,
                           user_verified=user_verified,
                           pass_verified=pass_verified)
예제 #7
0
 def register(self, username, password):
     """
     用户注册数据交互操作
     :param username:
     :param password:
     :return:
     """
     self.db_session.add(User(name=username, password=hashed(password)))
     self.db_session.commit()
예제 #8
0
def edit_profile():
    form = EditProfileForm()
    if form.validate_on_submit():
        user = User(form.name.data, form.location.data, form.aboutMe.data)
        flash('Your profile has been updated.')
        return redirect(url_for('.user', userName=user.name))
    form.name.data = 'Castilho'
    form.location.data = 'jf'
    form.aboutMe.data = 'developer'
    return render_template('auth/edit_profile.html', form=form)
예제 #9
0
 def create_user(self, email, username, password):
     user = User(user_name=username,
                 user_password=password,
                 user_email=email)
     user.hash_password()
     self.io.add([user])
     session = Session(user_id=user.user_id)
     self.io.add([session])
     self.request_handler.set_secure_cookie('session_id',
                                            session.session_id,
                                            expires_days=30)
예제 #10
0
    def post(cls):
        try:
            data = USER_SIGNUP_SCHEMA.load(request.get_json())
            user = User(**data)
            user.hash_password()
            user.save()
            sendOtp(user.username, user.phone_number, user.id)

            return {'Message': 'User Created'}, 200
        except ValidationError as e:
            print(e)
            return check_error(str(e))
        except NotUniqueError:
            return {'Message': 'User already exist'}, 500
예제 #11
0
 def add_user(self, username, password, email, age, gender,):
     """
     进行用户注册
     :param username:
     :param password:
     :param email:
     :return:
     """
     if username and password:
         user = User(username=username, password=password, emial=email, age=age, gender=gender, )
         self.session.add(user)
         self.session.commit()
         return 'ok'
     else:
         return 'false'
예제 #12
0
def login():
  user = None
  pass_verified = False
  if request.method == 'POST':
    user = User.query(User.username == request.form.get('username')).get()
    if not user:
      user = User()
      user.fill(username=request.form.get('username'))
    if (user and user.password and
      User.password.verify(request.form.get('password'), user.password)):
      sec.token = {'username': user.username}
      pass_verified = True
      return redirect(url_for('auth.welcome'))
  try:
    return render_template('login.html',
                            auth=user, pass_verified=pass_verified)
  except TemplateNotFound:
    abort(404)
예제 #13
0
def signin_view(self, request):
    next = request.params.get('next') or request.route_url('home')
    context = {}
    if request.method == "POST":
        first_name = request.POST.get('first_name', '')
        last_name = request.POST.get('last_name', '')
        email_id = request.POST.get('email_id', '')
        password = request.POST.get('password', '')
        user_category = request.POST.get('user_category', '')
        new_user = User(first_name, last_name, email_id, user_category, password)
        if UserQuery().is_email_id_already_registered(email_id):
            context.update(email_id_already_registered=True)
        else:
            UserQuery().add_user(new_user)


    context.update({'next': next, })
    print "Adding Users to Database." + str(context.get('next'))
    return context
예제 #14
0
def signup():
  user = None
  pass_verified = None
  if request.method == 'POST':
    try:
      user = User()
      user.fill(**request.form.to_dict())
      pass_verified = request.form.get('verify') == request.form.get('password')
      if user.valid() and user.unique and pass_verified:
        user.put()
        sec.token = {'username': user.username}
        return redirect(url_for('auth.welcome'))
    except Exception as ex:
      print('bad user')
      print(ex)
  try:
    return render_template('signup.html', auth=user, pass_verified=pass_verified)
  except TemplateNotFound:
    abort(404)
예제 #15
0
파일: auth.py 프로젝트: swag-52hz/tudo32
def register(username, password, password_repeat):
    ret = {'msg': 'other error'}
    if username and password and password_repeat:
        if password == password_repeat:
            s = Session()
            user = s.query(User).filter_by(name=username).all()
            if user:
                msg = 'username is already exists'
            else:
                new_user = User(name=username, password=hash(password))
                s.add(new_user)
                s.commit()
                s.close()
                msg = 'ok'
        else:
            msg = 'password is different'
    else:
        msg = 'username or password is empty'
    ret['msg'] = msg
    return ret
예제 #16
0
def register(username, password1, password2):
    ret = {'msg': 'other error', 'user_id': None}
    if username and password1 and password2:
        if password1 == password2:
            session = Session()
            user = session.query(User).filter_by(username=username).all()
            if user:
                msg = 'username is exists'
            else:
                new_user = User(username=username, password=hash(password1))
                session.add(new_user)
                session.commit()
                ret['user_id'] = new_user.id
                session.close()
                msg = 'ok'
        else:
            msg = 'password1 != password2'
    else:
        msg = 'username or password is empty'
    ret['msg'] = msg
    return ret
예제 #17
0
def register():
    form = RegistrationForm(request.form)

    if request.method == 'POST' and form.validate():
        if not (User.get_user_by_email_or_none(form.email.data)
                or User.get_user_by_username_or_none(form.username.data)):
            user = User()
            form.populate_obj(user)

            # store the email in lowercase form
            user.email = form.email.data.strip().lower()
            g.db.add(user)
            g.db.commit()

            session['current_user_id'] = user.id
            session['logged_in'] = True
            flash("Thanks for registering", 'success')
            return redirect(url_for('main.index'))

        flash('That email or username already exists!', 'error')

    return render_template('auth/registration.html', form=form)
예제 #18
0
 def register(self, username, password):
     self.db.add(User(username=username, password=hashed(password)))
     self.db.commit()
     self.db.close()
예제 #19
0
    def test_no_password_getter(self):
        u = User()

        with self.assertRaises(AttributeError):
            u.password
예제 #20
0
    def test_password_verification(self):
        u = User()
        u.password = '******'

        self.assertTrue(u.verify_password('cat'))
        self.assertFalse(u.verify_password('dog'))
예제 #21
0
    def test_password_setter(self):
        u = User()
        u.password = '******'

        self.assertTrue(u.password_hash is not None)
예제 #22
0
파일: account.py 프로젝트: litao-123/tndo28
def register(username, password):
    session = Session()
    session.add(User(name=username, password=hashed(password)))
    session.commit()
    session.close()
예제 #23
0
def user(userName):
    user = User(userName, 'jf', 'developer')
    return render_template('auth/user.html', user=user)