def login(): form = LoginForm() if request.method == 'GET': user_login = session.get('login') or request.cookies.get('login') if user_login: return redirect('/') return render_template('login.html', form=form) if request.method == 'POST': if not form.validate(): return render_template('login.html', form=form) else: user = UserPackage() login_res = user.login_user(request.form['login'], request.form['password']).values[0, 0] if login_res == 1: response = make_response(redirect('/')) session['login'] = request.form['login'] if request.form.get('remember_me'): expires = datetime.now() + timedelta(days=60) response.set_cookie('login', request.form['login'], expires=expires) session['login'] = request.form['login'] return response elif login_res == 0: return render_template('login.html', form=form, problem='Невірний пароль або логін') else: return render_template('login.html', form=form, problem='А вто тут прям помилка')
def post(self): x = request # 获取用户传过来的参数(api的参数为json数据) data = request.json # 将数据与LoginForm进行绑定 form = LoginForm(data=data) # 检查用户是否合法 user = form.validate() # 生成token token = create_token(uid=user.user_profile_id) return generate_response(data={"token":token})
def post(self): # 接收用户数据 data = request.json if not data: raise ArgsTypeException(message="传参的方式不对,或没有传参") # 验证用户输入数据合法性 # 创建Form -> data绑定 -> validate form = LoginForm(data=data) # validate函数返回了合法的用户 user = form.validate() # 生成token pic = "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1016301861,2773103463&fm=26&gp=0.jpg" token = create_token(uid=user.user_profile_id) return generate_response(data={"token": token, "pic": pic})
def post(self): data = request.json if not data: raise ArgsTypeException # 将接收的数据绑定form,由form验证 form = LoginForm(data=data) # validate函数返回了合法的用户 user = form.validate() if user: # 生成token token = create_token(uid=user.user_profile_id) return generate_response(data={"token":token}) else: result = form.errors raise FormValidateException(message=result)
def login(): if request.method == 'GET': return render_template('base_index.html') if request.method == 'POST': form = LoginForm(request.form) if form.validate(): username = form.data.get('username', '') password = form.data.get('password', '') admin_user = User.authenticate(username, password) if admin_user: return_status(200) else: return_status(400) else: return_status(401)
def post(self): form = LoginForm(self.request.arguments) if form.validate(): username = form.data.get('username', '') password = form.data.get('password', '') user = User.authenticate(username, password) if user: user.last_login_at = datetime.datetime.now() user.last_login_ip = self.request.remote_ip user.save() self.set_secure_cookie('user_id', str(user.id)) self.redirect(self.reverse_url('admin')) else: return self.return_status(400, '用户名或密码错误') else: return self.return_status(400, form.errors)
def login(): form = LoginForm(request.form) if request.method == 'POST': is_pwd = request.values.get('is_pwd', '') if is_pwd: username = request.values.get('email', '') password = request.values.get('password', '') if check_auth_by_mail(username, password): user = User.query.filter_by(email=username).first() else: return tpl('login.html', form=form, msg=u"用户名或者密码错误.") else: password = request.values.get('password') if password == DEFAULT_PASSWORD and not DevelopmentConfig.DEBUG: return tpl('login.html', form=form, msg=u"用户名或者密码错误.") user = form.validate() if user: login_user(user) if user.check_password(DEFAULT_PASSWORD) and not is_pwd: flash(u'您还在使用默认密码, 请及时<a href="%s">修改您的密码!</a>' % url_for('user.pwd_change'), 'danger') return redirect(request.args.get("next", "/")) return tpl('login.html', form=form, msg=u"用户名或者密码错误.") return tpl('login.html', form=form)
def post(self, next_action=None, key=None): ''' checks username, password, logs in user and redirect to start page ''' login_form = LoginForm().get_form(self.request.POST) if login_form.validate(): email = login_form['email'].data password = login_form['password'].data remember_me = login_form['remember_me'].data logging.info('(LoginHandler.post) Trying to login email: %s' % email) # Username and password check try: user = self.login_user(email, password, remember_me) user.last_login = datetime.datetime.now() user.put() # set the language from user profile self.set_language(user.language) # login was succesful, User is in the session if next_action == 'booking': # moved booking up here since it can come from any role (provider or patient) booking = ndb.Key(urlsafe=key).get() patient_from_user = db.get_patient_from_user(user) if patient_from_user.key == booking.patient: self.email_and_confirm_booking(booking) self.redirect('/patient/bookings/' + patient_from_user.key.urlsafe()) else: # check role of user, redirect to appropriate page after login if auth.PROVIDER_ROLE in user.roles: provider = db.get_provider_from_user(user) logging.info( '(LoginHandler.post) User %s logged in as provider, redirecting to profile page', user.get_email()) # check the action, if it's from a connection do that first # and then redirect back to profile page with a message if next_action == 'connect': connected_provider_key = ndb.Key(urlsafe=key) connected_provider = connected_provider_key.get() target_url = '/' + connected_provider.vanity_url + '/connect' self.redirect(target_url) elif next_action == 'accept': target_url = '/provider/network/' + provider.vanity_url + '/accept/' + key self.redirect(target_url) elif provider.display_welcome_page: self.redirect('/provider/welcome/' + provider.vanity_url) else: self.redirect('/provider/profile/%s' % provider.vanity_url) # log the event self.log_event(user, "Provider Logged In") elif auth.PATIENT_ROLE in user.roles: patient = db.get_patient_from_user(user) logging.info( '(LoginHandler.post) User %s logged in as patient, redirecting to / page', user.get_email()) self.redirect('/patient/bookings/' + patient.key.urlsafe()) else: logging.error( '(LoginHandler.post) User %s logged in without roles', user.get_email()) error_message = 'Your account is not activated. Please check your email for an activation message or <a href="/contact">contact us</a> if you require assistance.' self.render_template('user/login.html', login_form=login_form, error_message=error_message) except (InvalidAuthIdError, InvalidPasswordError), e: # throws InvalidAuthIdError if user is not found, throws InvalidPasswordError if provided password doesn't match with specified user error_message = _(u'Login failed. Try again.') self.render_template('user/login.html', login_form=login_form, error_message=error_message) except AttributeError, ae: logging.warn('User has not password, authentication fails %s' % ae)
def post(self, next_action=None, key=None): ''' checks username, password, logs in user and redirect to start page ''' login_form = LoginForm().get_form(self.request.POST) if login_form.validate(): email = login_form['email'].data password = login_form['password'].data remember_me = login_form['remember_me'].data logging.info('(LoginHandler.post) Trying to login email: %s' % email) # Username and password check try: user = self.login_user(email, password, remember_me) user.last_login = datetime.datetime.now() user.put() # set the language from user profile self.set_language(user.language) # login was succesful, User is in the session if next_action == 'booking': # moved booking up here since it can come from any role (provider or patient) booking = ndb.Key(urlsafe=key).get() patient_from_user = db.get_patient_from_user(user) if patient_from_user.key == booking.patient: self.email_and_confirm_booking(booking) self.redirect('/patient/bookings/' + patient_from_user.key.urlsafe()) else: # check role of user, redirect to appropriate page after login if auth.PROVIDER_ROLE in user.roles: provider = db.get_provider_from_user(user) logging.info('(LoginHandler.post) User %s logged in as provider, redirecting to profile page', user.get_email()) # check the action, if it's from a connection do that first # and then redirect back to profile page with a message if next_action == 'connect': connected_provider_key = ndb.Key(urlsafe=key) connected_provider = connected_provider_key.get() target_url = '/' + connected_provider.vanity_url + '/connect' self.redirect(target_url) elif next_action == 'accept': target_url = '/provider/network/' + provider.vanity_url + '/accept/' + key self.redirect(target_url) elif provider.display_welcome_page: self.redirect('/provider/welcome/' + provider.vanity_url) else: self.redirect('/provider/profile/%s' % provider.vanity_url) # log the event self.log_event(user, "Provider Logged In") elif auth.PATIENT_ROLE in user.roles: patient = db.get_patient_from_user(user) logging.info('(LoginHandler.post) User %s logged in as patient, redirecting to / page', user.get_email()) self.redirect('/patient/bookings/' + patient.key.urlsafe()) else: logging.error('(LoginHandler.post) User %s logged in without roles', user.get_email()) error_message = 'Your account is not activated. Please check your email for an activation message or <a href="/contact">contact us</a> if you require assistance.' self.render_template('user/login.html', login_form=login_form, error_message=error_message) except (InvalidAuthIdError, InvalidPasswordError), e: # throws InvalidAuthIdError if user is not found, throws InvalidPasswordError if provided password doesn't match with specified user error_message = _(u'Login failed. Try again.') self.render_template('user/login.html', login_form=login_form, error_message=error_message) except AttributeError, ae: logging.warn('User has not password, authentication fails %s' % ae)