Esempio n. 1
0
    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)
Esempio n. 2
0
    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'))
Esempio n. 3
0
    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)
Esempio n. 4
0
 def test_validate_invalid_password(self, user):
     user.set_password('example')
     form = LoginForm(username=user.username, password='******')
     assert form.validate() is False
Esempio n. 5
0
 def test_validate_unknown_username(self, user):
     form = LoginForm(username='******', password='******')
     assert form.validate() is False
     assert form.user is None
Esempio n. 6
0
 def test_validate_success(self, user):
     form = LoginForm(username=user.username, password='******')
     assert form.validate() is True
     assert form.user == user
Esempio n. 7
0
 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