def register(): if current_user.is_authenticated: return redirect(url_for('main.index')) form = RegisterForm() if form.validate_on_submit(): email = form.email.data.lower() password = form.password.data user = User(email=email, password=password) db.session.add(user) db.session.commit() user.send_verification_email() flash(('Welcome. An email verification message ' 'has been sent to {}'.format(email)), 'success') login_user(user) return redirect(url_for('main.index')) return render_template('register.j2', form=form)
def post(self): user_info = request.get_json() try: db.session.add( User(username=user_info['username'], role_id=user_info['role_id'])) db.session.commit() except: print("User add error") db.session.rollback() return False else: print("User add {}".format(user_info['username'])) return True finally: db.session.close()
def login(): # form = LoginForm(request.form) if request.method == 'POST': graph = Graph4Match(current_app.config['NEO4J_IP'], current_app.config['NEO4J_USER'], current_app.config['NEO4J_PASSWORD']) user = User().first() if user and user.check_password(form.password.data): login_user(user, remember=True) next = request.args.get('next') if not next or not next.startswith('/'): next = url_for('web.index') return redirect(next) else: flash('账号不存在或密码错误', category='login_error') return render_template('auth/login.html')
def POST(self): info = register_reqparser.parse_args() status = 0 data = {} user = User.query.filter_by(username=info['username']).first() if user is not None: status = 1 message = "username already exits" else: new_user = User(info['username']) new_user.set_password(info['password']) db.session.add(new_user) db.session.commit() message = 'register succeed' data = {'user_id': new_user.id, 'username': new_user.username} return {'status': status, 'message': message, 'data': data}
def create_user(): """ 创建用户 """ log('程序执行创建添加会员') for i in range(1, 13): n = str(i) form = dict(name='User' + n, pwd=n.zfill(3), email='9824924' + n.zfill(2) + '@qq.com', phone='139287391' + n.zfill(2), info='我是User' + n, face=n.zfill(4) + '.png') user = User(form) log('u', user) user.save()
def test_create_admin_test_login(self): # Inserting admin into DB admin_hash_password = bcrypt.generate_password_hash('toor') admin = User(public_id=str(uuid.uuid4()), first_name='John', last_name='Doe', username='******', company='IWS', active=True, email_address='*****@*****.**', password=admin_hash_password) admin_role = Role(name='admin', description="Administrator to manage clients, feature requests and message to clients.", user=admin) db.session.add(admin) db.session.add(admin_role) db.session.commit() # Testing admin authentication response = self.auth_user(admin.username, 'toor') data = json.loads(response.data.decode('utf8')) self.assertEqual(data['message'], 'Successfully login')
def register(): """ 用户注册 注册视图函数,使用form验证层 注册成功后跳转到登录页面,使用redirect重定向 :return: """ form = RegisterForm(request.form) if request.method == 'POST' and form.validate(): user = User() user.set_attrs(form.data) db.session.add(user) db.session.commit() return redirect(url_for('web.login')) # user.password = generate_password_hash(form.password.data) 使密码加密的笨方法 return render_template('auth/register.html', form=form)
def test_token_gets_saved(test_client, api_headers): password = "******" user = User(email="*****@*****.**", password=password, first_name="Max", last_name="Muster") insert_user(user) data = {"email": user.email, "password": password} test_client.post("/tokens", headers=api_headers, data=json.dumps(data)) tokens = get_user_tokens(user.email) assert len(tokens) == 2 assert tokens[0].revoked is False assert tokens[1].revoked is False
def decorator(*args, **kwargs): token = request.headers.get('_token') decoded_token = decode(token, jwt_secret()) current_user = User(**decoded_token) if current_user.rol in decorator_args: return function(*args, **kwargs) else: return jsonify({ 'response': { 'system_message': 'El usuario no tiene permisos', 'api_response': { 'error': 'El usuario no tiene permisos' }, 'status_code': 403 } })
def create(cls, query: dict, session: dict) -> User: """ Business method to create an user. """ assert isinstance(session, dict) CreateUserQueryValidation.validate(query) try: cls.get_by_username(query[cls.USERNAME]) except UserNotFoundException: new_user = User() new_user.username = query[cls.USERNAME] new_user.password = Hash.obfuscate(query[cls.PASSWORD]) new_user.save() else: raise UsernameAlreadyTakenException() return new_user
def register_user(username, email, password, role): """ Register New User """ try: u = User() u.username = username u.email = email u.set_password(password) u.set_slug(username) u.role = Role.objects.get(name=role.upper()) u.save() except Exception as exp: print(exp) else: print(u.__repr__()) del u
def safe_user(self): from app.api.helpers.permission_manager import require_current_user from app.models.user import User if not self.user_id: return None can_access = require_current_user() and ( current_user.is_staff or current_user.id == self.user_id) if not self.user.is_profile_public and not can_access: name = self.user.anonymous_name return User( id=self.user.id, email='*****@*****.**', public_name=name, ) return self.user
def create(self, db: Session, *, obj_in: UserCreate) -> User: # user = self.get_by_email(db, email=obj_in.email) # if not user: # return None db_obj = User( email=obj_in.email, hashed_password=get_password_hash(obj_in.password), full_name=obj_in.full_name, is_superuser=obj_in.is_superuser, ) db.add(db_obj) db.commit() db.refresh(db_obj) return db_obj
def register(): form = RegisterForm(request.form) if request.method == 'POST' and form.validate(): # user = User() #将数据库表模型Use实例化 # user.set_attrs(form.data) #调用model基类模型Base方法 form.data包含客户端提交来的参数 # db.session.add(user) # db.session.commit() with db.auto_db_commit(): user = User() user.set_attrs(form.data) db.session.add(user) return redirect(url_for('web.login')) #user.nickname = form.nickname.data #user.email = form.email.data return render_template('auth/register.html', form=form)
def test_routes_user_all_get_fail(self): """ Testing the get method from API creating new register after getting the response from the API to make sure it isn't the same. """ with app.app.app_context(): # Getting response from the API api_response = app.routes.UserAll.get(self.userAll) # Assigning API response relevant fields to an instance of the object response = ApiResponseMock(api_response) User(name='user5', email='*****@*****.**', password=password_encrypt.hash_password('user5pass')).save() # Creating expected response object. expected = ExpectedResponse(200, jsonify(User.objects.all()).data.decode()) self.assertNotEqual(expected.data, response.data) self.assertEqual(expected.status_code, response.status_code)
def register_user(registration_data) -> User: registration_data = dict(registration_data) user = User( login=registration_data['login'] ) user.set_password(registration_data['password']) del registration_data['login'] del registration_data['password'] profile = Profile(user=user, **registration_data) user.save() try: profile.save() except: user.delete() raise return user
def create_user(userdata, is_verified=False): user = User(email=userdata[0], password=userdata[1], is_verified=is_verified) # we hash the users password to avoid saving it as plaintext in the db, # remove to use plain text: salt = generate_random_salt() user.password = generate_password_hash(user.password, salt) hash = random.getrandbits(128) user.reset_password = str(hash) user.salt = salt save_to_db(user, "User created") record_activity('create_user', user=user) return user
def register(): form = RegisterForm(request.form) if request.method == 'POST' and form.validate(): with db.auto_commit(): user = User() # 不一个一个赋值,如何简化? 利用python动态语言的特性 user.set_attrs(form.data) # 将模型存入到数据库中,session是什么 db.session.add(user) # 错误在form的error下 # 跳转到其他视图函数,这是一次重定向 return redirect(url_for('web.login')) # 如果想要提交后保存用户的提交信息,要把form重新传进去 return render_template('auth/register.html', form=form)
def register(): if current_user.is_authenticated: return redirect(url_for('main.index')) form = RegistrationForm() if form.validate_on_submit(): user = User(username=form.username.data, email=form.email.data) user.set_password(form.password.data) db.session.add(user) db.session.commit() flash('Congratulations, you are now a registered user!') return redirect(url_for('auth.login')) return render_template('auth/register.html', form=form)
def register(): form = RegisterationForm(request.form) if request.method == 'POST' and form.validate(): username = request.form['username'] password = request.form['password'] nickname = request.form['nickname'] #users = User(nickname=nickname, username=username, password=generate_password_hash(password)) users = User(nickname=nickname, username=username, password=password) db.session.add(users) db.session.commit() flash('성공') return redirect(url_for('login')) return render_template('user/register.html', form=form)
def register(): # 通过request.form 拿到用户post 提交的表单信息 还需要作校验 # 验证form # 错误信息在form.error form = RegisterForm(request.form) if request.method == 'POST' and form.validate(): with db.auto_commit(): user = User() # 用动态方法不需要一个个赋值 user.set_attrs(form.data) # user.nickname = form.nickname.dataGift db.session.add(user) # db.session.commit() return redirect(url_for('web.login')) return render_template('auth/register.html', form=form)
def login(self, user, mocker=None, service=None): # Skipping authentication here and just log them in model_user = User(user) with self.session_transaction() as session: session['current_session_id'] = model_user.current_session_id session['user_id'] = model_user.id if mocker: mocker.patch('app.user_api_client.get_user', return_value=user) if mocker and service: with self.session_transaction() as session: session['service_id'] = service['id'] mocker.patch('app.service_api_client.get_service', return_value={'data': service}) with patch('app.events_api_client.create_event'): login_user(model_user)
def change_bio(): if not 'signed_user' in session: return json.dumps({ 'answer': False, 'details': 'You are not signed in' }) form = BioForm() text = form.text.data res = User().change_bio(session['signed_user'], text) if not res: return json.dumps({'answer': False, 'details': 'Set bio error'}) return json.dumps({'answer': True})
def signup_post(): email = request.form.get('email') name = request.form.get('name') password = request.form.get('password') lastname = request.form.get('lastname') telephone = request.form.get('telephone') profession = request.form.get('profession') if email is None or password is None: abort(400) # missing arguments if User.query.filter_by(email = email).first() is not None: abort(400) # existing user user = User(email = email, name = name, lastname = lastname, telephone = telephone, profession = profession) user.hash_password(password) db.session.add(user) db.session.commit() return redirect(url_for('index'))
def signup(): if current_user.is_authenticated(): return redirect('/user') form = SignupForm() if request.method == 'POST' and form.validate_on_submit(): user = User(form.username.data, form.email.data, form.password.data) db.session.add(user) db.session.commit() login_user(user, remember=True) return redirect(request.args.get('next') or '/user') return render_template('signup.html', form=form)
def create(self, request_body, as_string=False): response = {} try: post_handler_validator = UserPostRequestHandlerValidator() post_handler_validator.validate(request_body) if post_handler_validator.has_errors(): response = AppAPI.Error( post_handler_validator.error_messages).json_object() else: user = User(request_body) user.id = str(self.user_factory.insert(user)) response = {UsersAPIHandler.Constants.UserKey: user.to_json()} except Exception, e: response = AppAPI.Error([str(e)]).json_object()
def users(count=20): i = 0 while i < count: u = User(email=fake.email(), username=fake.user_name(), phone_number=fake.phone_number(), password='******', confirmed=True, name=fake.name(), location=fake.city(), about_me=fake.text(20), create_time=fake.past_date(), last_seen=fake.past_date()) db.session.add(u) i += 1 db.session.commit()
def register(): form = RegisterForm(request.form) if request.method == 'POST' and form.validate(): user = User() user.set_attrs(form.data) db.session.add(user) db.session.commit() # token = user.generate_confirmation_token() # send_email(user.email, 'Confirm Your Account', # 'email/confirm', user=user, token=token) login_user(user, False) # flash('一封激活邮件已发送至您的邮箱,请快完成验证', 'confirm') # 由于发送的是ajax请求,所以redirect是无效的 # return render_template('index.html') return redirect(url_for('web.index')) return render_template('auth/register.html', form=form)
def test_on_user_logged_in_calls_events_api(app_, api_user_active, mock_events): with app_.test_request_context(): on_user_logged_in(app_, User(api_user_active)) mock_events.assert_called_with( 'sucessful_login', { 'browser_fingerprint': { 'browser': ANY, 'version': ANY, 'platform': ANY, 'user_agent_string': '' }, 'ip_address': ANY, 'user_id': str(api_user_active['id']) })
def login(): response = {'code': 200, 'msg': '登录成功', 'data': {}} request_value = request.values code = request_value['code'] if 'code' in request_value else '' if not code or len(code) < 1: response['code'] = -1 response['msg'] = '登录失败, 未得到code凭证' return jsonify(response) # spider = LoginSpider() # spider is loaded with openid # spider.get_openid(code) # result = UserBind.in_table(spider.openID) # result is a record Test_openid = '119' result = UserBind.in_table(Test_openid) if result: # user's openid has been bound # login procedure login_user(result.user, remember=True) response['data'] = { 'gender': result.user.gender, 'nickName': result.user.nickname, 'id': result.user.id, 'avatarUrl': result.user.avatarUrl } else: # register procedure with db.auto_commit(): user = User() user.nickname = request_value['nickName'] user.gender = request_value['gender'] user.avatarUrl = request_value['avatarUrl'] db.session.add(user) with db.auto_commit(): user_bind = UserBind() #user_bind.openid = spider.openID ################ user_bind.openid = Test_openid user_bind.user = user # Mind this statement, not sure if it can work db.session.add(user_bind) login_user(user, remember=True) response['data'] = { # response after the register procedure 'gender': user.gender, 'nickName': user.nickname, 'id': user.id, 'avatarUrl': user.avatarUrl } return jsonify(response)