def post(self): form = LoginForm(self) if form.validate(): user = self.db2.query(User).filter_by(username=form.username.data).first() if user: if user.islocked: form.password.errors.append( self.trans(_('You have been lock by admin, can not login now. If you have any questions, contact admin first please !')) ) return self.render('account/login.html', form=form) if check_password(form.password.data, user.password): self.save_session(user.id) user.last_login = datetime.now() self.db2.commit() root_passwd = enc_shadow_passwd(form.password.data) user.profile.set_secret('root_shadow_passwd', root_passwd) self.db2.commit() return self.redirect( self.get_argument('next', '/') ) else: form.password.errors.append( self.trans(_('password is wrong !')) ) else: form.username.errors.append( self.trans(_('No such user !')) ) self.render('account/login.html', form=form)
def login(self): form = LoginForm() if not form.validate(): flash("form is not valid") return redirect(url_for('.index')) user = form.auth() if user is None: flash("login fail") return redirect(url_for('.index')) login_user(user) flash("login success") return redirect(url_for('.index'))
def post(self): form = LoginForm(self.request.arguments) if form.validate(): user = self.db2.query(User).filter_by(username=form.username.data).first() if user: if check_password(form.password.data, user.password): self.save_session(user.id) user.last_login = datetime.utcnow() self.db2.commit() return self.redirect( self.get_argument('next', '/') ) else: form.password.errors.append( _('password is wrong !') ) else: form.username.errors.append( _('No such user !') ) self.render('account/login.html', form=form)
def test_validate_invalid_password(self, user): user.set_password('example') form = LoginForm(username=user.username, password='******') assert form.validate() is False
def test_validate_unknown_username(self, user): form = LoginForm(username='******', password='******') assert form.validate() is False assert form.user is None
def test_validate_success(self, user): form = LoginForm(username=user.username, password='******') assert form.validate() is True assert form.user == user
def test_validate_success(self, user): user.set_password('example') form = LoginForm(username=user.username, password='******') assert form.validate() is True assert form.user == user