Ejemplo n.º 1
0
def login():
    # if user is logged in, redirect them to index
    if g.user is not None and g.user.is_authenticated():
        return redirect(url_for('index'))
    form = LoginForm()
    # tries to login user
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        session['remember_me'] = form.remember_me.data
        registered_user = User.query.filter_by(username=username).first()
        if registered_user is not None:
            if registered_user.check_password(password):
                remember_me = False
                if 'remember_me' in session:
                    remember_me = session['remember_me']
                    session.pop('remember_me', None)
                login_user(registered_user, remember = remember_me)
                flash('Logged in successfully')
                return redirect(request.args.get('next') or url_for('index'))
            else:
                form.password.errors.append("Invalid password!")
        else:
            form.username.errors.append("Invalid username!")
    return render_template('login.html', title = 'Sign In', form = form)
Ejemplo n.º 2
0
def index():
    login = LoginForm()#login objekti
    if request.method == 'GET':#29.1.2016 lisätty alla oleva
        return render_template('template_index.html',form=login,isLogged=False)
    else:
        #check if form data is valid
        if login.validate_on_submit():#tsekkaa onko formit valideja
            #3.2.2016 Check if correct username or password
            #user = Users.query.filter_by(email=login.email.data).filter_by(passw=login.passw.data)
            #yllä oleva luo SQL-lauseen: Select email passw From User Where email="?" And passw="?"
            
            #4.2.2016 passw on kryptattu
            # Check if correct username
            user = Users.query.filter_by(email=login.email.data)
            print(user)
            #if user.count() == 1:#3.2.2016 jos palautetun taulukon koko on yksi
            #4.2.2016: user[0].passw = kryptattu salasana
            if (user.count() == 1) and (check_password_hash(user[0].passw,login.passw.data)):
                print(user[0])
                session['user_id'] = user[0].id#tallennetaan käyttäjän ID
                session['isLogged'] = True
                print(session['user_id'])
                #Haetaan ystävät
                #tapa 1 listata ystävät
                friends = Friends.query.filter_by(user_id =user[0].id)
                print(friends)
                return render_template('template_user.html',isLogged=True,friends=friends)
            else:
                flash('Wrong email or password')
                return render_template('template_index.html',form=login,isLogged=False)
        #form data was not valid
        else:
            flash('Give proper information to email and password fields!')#näyttö toteutettu base.html:ssä (kalvo s.56)
            return render_template('template_index.html',form=login,isLogged=False)
Ejemplo n.º 3
0
def login():
    """
    登录
    """
    if g.user is not None and g.user.is_authenticated:
        return redirect(url_for('index'))
    form = LoginForm()
    if request.method == 'POST':
        if form.validate_on_submit():
            from user_auth import get_user_auth_row
            condition = {
                'auth_type': 'email',
                'auth_key': form.email.data,
                'auth_secret': form.password.data
            }
            user_auth_info = get_user_auth_row(**condition)
            if user_auth_info is None:
                flash(u'%s, You were logged failed' % form.email.data, 'warning')
                return render_template('login.html', title='login', form=form)
            if user_auth_info.verified == 0:
                flash(u'%s, Please verify email address in mailbox' % form.email.data, 'warning')
                return render_template('login.html', title='login', form=form)
            # session['logged_in'] = True
            # 用户通过验证后,记录登入IP
            from user import edit_user
            edit_user(user_auth_info.user_id, {'last_ip': request.headers.get('X-Forwarded-For', request.remote_addr)})
            # 用 login_user 函数来登入他们
            from user import get_user_row_by_id
            login_user(get_user_row_by_id(user_auth_info.user_id))
            flash(u'%s, You were logged in' % form.email.data, 'success')
            return redirect(request.args.get('next') or url_for('index'))
        flash(form.errors, 'warning')  # 调试打开
    return render_template('login.html', title='login', form=form)
Ejemplo n.º 4
0
def index():
	login = LoginForm()
	#Check if get method
	if request.method == 'GET':
		return render_template('template_index.html',form=login,isLogged=False)
	else:
		#check if form data is valid
		if login.validate_on_submit():
			#Check id correct useranme and password
			user = Users.query.filter_by(email=login.email.data)
			print(user)
			if user.count(user.count() == 1) and (check_password_hash(user[0].passw,login.passw.data)):
				print(user[0])
				session['user_id'] = user[0].id
				session['isLogged'] = True
				#tapa 1
				friends = Friends.query.filter_by(user_id=user[0].id)
				print(friends)
				return render_template('template_user.html',isLogged=True,friends=friends)
			else:
				flash('Wrong email or password')
				return render_template('template_index.html',form=login,isLogged=False)
		#form data was not valid
		else:
			flash('Give proper information to email and password fields!')
			return render_template('template_index.html',form=login,isLogged=False)
Ejemplo n.º 5
0
def login():
    """Show login page.

    Unauthorized users will always be redirected to this view when attempting
    to access a protected view. Upon successful authorization the user will
    be redirected to the protected view the unauthorized user was trying to
    access. Default redirection is to the admin overview page.

    """
    form = LoginForm()
    if form.validate_on_submit():
        login_user(user=form.user, remember=form.remember_me.data)

        at = datetime.utcnow()
        ip = request.remote_addr or 'unknown'

        current_user.last_login_at = current_user.current_login_at or at
        current_user.last_login_ip = current_user.current_login_ip or ip

        current_user.current_login_at = at
        current_user.current_login_ip = ip

        db.session.commit()
        return redirect(url_for('admin.overview'))
    return render_template('auth/login.html', form=form)
Ejemplo n.º 6
0
def login():
    '''###############################
    Log to the system
    ##################################
    '''
    if g.user is not None and g.user.is_authenticated:
        return redirect(url_for('.index'))
    form = LoginForm()
    if form.validate_on_submit():
        session['remember_me'] = form.remember_me.data

        user = User.query.filter_by(email=form.openid.data).first()
        if user is None:
            #flash('Invalid login. Please try again.')
            #return redirect(url_for('.login'))
            user = add_user(form.openid.data)
        
        remember_me = False
        if 'remember_me' in session:
            remember_me = session['remember_me']
            session.pop('remember_me', None)
        login_user(user, remember = remember_me)
        return redirect(request.args.get('next') or url_for('.index'))

    return render_template('login.html', 
                           title='Sign In',
                           form=form,
                           providers=app.config['OPENID_PROVIDERS'])
Ejemplo n.º 7
0
def index(): #instanssi login-formista
	login = LoginForm()
	#Check if get method
	if request.method == 'GET':
		return render_template('template_index.html',form=login,isLogged=False)
	else:
		#check if form data is valid
		if login.validate_on_submit(): #zekkaa onko validatoreilla tarkistettu data validia
			#Check id correct username and password
			user = Users.query.filter_by(email=login.email.data)
			#muodostaa: Select email passw From User Where email="?" And Passw="?"
			#all()=[], first()=object
			if (user.count() == 1) and (check_password_hash(user[0].passw,login.passw.data)):
				print(user[0])
				session['user_id'] = user[0].id
				session['isLogged'] = True
				#tapa 1
				friends = Friends.query.filter_by(user_id=user[0].id)
				print(friends)
				return render_template('template_user.html',isLogged=True, friends=friends)
			else:
				flash('Wrong email or password')
			
			#print(login.email.data) #pythonilla ei tarvi requestista hakea dataa, vaan suoraan formilta
			#print(login.passw.data)
				return render_template('template_user.html',form=login, isLogged=False) # renderöidään template_user.html
		#form data was not valid
		else:
			flash('Give proper information to email and password fields!')
			return render_template('template_index.html',form=login,isLogged=False)			
Ejemplo n.º 8
0
Archivo: auth.py Proyecto: icoz/pysymo
def login():
    form = LoginForm()

    if form.validate_on_submit():
        if app.config['AUTH_TYPE'] == 'ldap':
            user_obj = UserLDAP()
        elif app.config['AUTH_TYPE'] == 'plain':
            user_obj = UserPlain()
        else:
            flash(gettext('Unknown authentication type.'), 'warning')
            return render_template('home.html', login_form=form)

        # find user and check password
        user, error = user_obj.get_by_username_w_password(form.username.data, form.password.data)
        if user is None:
            flash(error, 'warning')
        else:
            if login_user(user, remember=form.remember_me.data):
                flash(gettext('Logged in successfully.'), 'success')
                return redirect(url_for('search'))
            else:
                flash(gettext('Unable to log you in.'), 'warning')
                return redirect(url_for('home'))
    else:
        flash_form_errors(form)

    return render_template('home.html', login_form=form)
Ejemplo n.º 9
0
def index(page=1):
    login = LoginForm()
    #Check method
    if request.method == 'GET':
        if not('isLogged' in session) or (session['isLogged'] == False):
            return render_template('template_index.html', form = login, isLogged = False)
        else:
            return redirect ("/app/users")
    else:
        #Check if form data is valid
        if login.validate_on_submit():
            # Check if correct username
            user = User.query.filter_by(email = login.email.data)
            if (user.count() == 1) and (check_password_hash(user[0].password, login.passw.data)):
                session['username'] = login.email.data
                session['user_id'] = user[0].id
                session['isLogged'] = True
                #tapa 1
                friends = Friends.query.filter_by(user_id=user[0].id).paginate(page,10,False)
                return render_template('template_user.html', isLogged=True, friends=friends)
                #return redirect ("/users")
            else:
                flash('Wrong username or password given!')
                return render_template('template_index.html', form = login, isLogged = False)
            
        #Form data was not valid
        else:
            flash('Give proper information to email and password fields!')
            return render_template('template_index.html', form = login, isLogged = False)
Ejemplo n.º 10
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
	j_ldap.ldap_login(form.username.data,form.password.data)
    return render_template('login.html', 
        title = 'Sign In',
        form = form )
Ejemplo n.º 11
0
def login():
    if request.method == 'POST' and 'User-Agent' not in request.headers:
        email = request.form['email']
        password = request.form['password']
        if email and password:
            user = Users.query.filter_by(email=email).first()
            if user and user.verify_password(password):
                g.user = user
                token = user.generate_auth_token(600)
                return jsonify({'error':'null', 'data':{'token': token.decode('ascii'), 'expires': 600, 'user':{'id': user.id, 'email': user.email, 'name': user.name}, 'message':'success'}})
            return jsonify({'error': '1', 'data':{}, 'message':'Bad user name or password'})
    if g.user is not None and g.user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm()
    if request.method == 'POST' and 'User-Agent' in request.headers:
        if form.validate_on_submit():
            uname = request.form['username']
            pword = request.form['password']
            user = Users.query.filter_by(email=uname).first()
            if user is None:
                return redirect(url_for('login'))
            login_user(user)
            return redirect(request.args.get("next") or url_for('wishlist',id=g.user.id))
    
    return render_template(
        'login.html',
        title='User Login',
        year=datetime.now().year,
        form=form,
        user=g.user
    )
Ejemplo n.º 12
0
def login():
	form = LoginForm()
	if form.validate_on_submit():
		user = User.query.filter_by(email=form.email.data).first()
		login_user(user, remember=True)
		return redirect(url_for("dashboard"))
	return render_template('signup.html', signup_form=SignupForm(), login_form=form)
Ejemplo n.º 13
0
def signin():
    next_url = request.args.get('next') or url_for('home.index')
    if current_user.is_authenticated:
        return redirect(next_url)
    form = LoginForm()
    error = ''
    if form.validate_on_submit():
        user, status, confirmed = User.authenticate(form['username'].data,form['password'].data)
        remember = form['remember'].data
        if user:
            if status:
                #validate uesr
                login_user(user, remember=remember)
                if request.args.get('ajax'):
                    return jsonify(status=200, next=next_url)
                else:
                    return redirect(next_url)
            elif not confirmed:
                '''没有确认邮箱的用户'''
                message = '请点击邮箱里的激活链接。 <a href=%s>重发激活邮件</a>'%url_for('.confirm_email',
                    email=user.email,
                    action='send')
                if request.args.get('ajax'):
                    return jsonify(status=403, msg=message)
                else:
                    return render_template('feedback.html', status=False, message=message)
            else:
                error = _('用户名或密码错误!')
        else:
            error = _('用户名或密码错误!')
    #TODO: log the form errors
    if request.args.get('ajax'):
        return jsonify(status=404, msg=error)
    else:
        return render_template('signin.html',form=form, error=error)
Ejemplo n.º 14
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash('Login requested for user {}, remember_me={}'.format(
            form.username.data, form.remember_me.data))
        return redirect('/index')
    return render_template('login.html', title='Sign In', form=form)
Ejemplo n.º 15
0
def login():
    form = LoginForm(login=request.args.get("login", None),
                     next=request.args.get("next", None))

    # TBD: ensure "next" field is passed properly
    if form.validate_on_submit():
        user, authenticated = \
            User.query.authenticate(form.login.data,
                                    form.password.data)

        if user and authenticated:
            # Flask-Login
            login_user(user, remember = form.remember.data)
            
            # change identity
            identity=Identity(user.username)
            identity_changed.send(current_app._get_current_object(),
                                identity = identity)
            # next_url
            next_url = form.next.data
            if not next_url or next_url == 'home.index':
                next_url = url_for('user.jobs', username=user.username)
                flash(u"登录成功", "successfully")
            return redirect(next_url)
        else:
            flash(u"账号或密码错误", "error")
    return render_template("account/login.html", form=form)
Ejemplo n.º 16
0
def index():
    login = LoginForm()
    # Check if get method
    if request.method == "GET":
        return render_template("template_index.html", form=login, isLogged=False)
    else:
        # check if form data is valid
        if login.validate_on_submit():
            # Check if corret username and password
            user = Users.query.filter_by(email=login.email.data)
            if (user.count() == 1) and (check_password_hash(user[0].passw, login.passw.data)):
                print(user[0])
                session["user_id"] = user[0].id
                session["isLogged"] = True
                # Tapa 1
                friends = Friends.query.filter_by(user_id=user[0].id)
                print(friends)
                return render_template("template_user.html", isLogged=True, friends=friends)
            else:
                flash("Wrong email or password")
                return render_template("template_index.html", form=login, isLogged=False)
        # form data was not valid
        else:
            flash("Give proper imformation to email and password fields!")
            return render_template("template_index.html", form=login, isLogged=False)
Ejemplo n.º 17
0
def login():
    form = LoginForm()
    rForm = RegisterForm()
    ref = {'key': request.args.get('key'), 'token': request.args.get('token') }
    if current_user.is_authenticated:
        if ref['key'] and ref['token']:
            try:
                consume_token(ref['token'])
                group = Group.objects.get(referrals__key=ref['key'])
                group.add_to_group(current_user, ref['key'])
            except ValueError as e:
                return(e)
        return redirect(url_for('index'))
    if request.method == 'POST' and form.validate_on_submit():
        user = User.objects.get(username__iexact=form.username.data)
        if user and check_password_hash(user.password, form.password.data):
            if request.form.get('key') and request.form.get('token'):
                try:
                    consume_token(request.form.get('token'))
                    group = Group.objects.get(referrals__key=request.form.get('key'))
                    group.add_to_group(current_user, request.form.get('key'))
                except ValueError as e:
                    return(e)
            user.authenticated = True
            login_user(user)
            return redirect(url_for('index'))
    return render_template('login.html', title='login', form=form, rForm=rForm, ref=ref)
Ejemplo n.º 18
0
def login():
    if not current_user.is_anonymous:
        return redirect(url_for('home.index'))

    form = LoginForm()
    if form.validate_on_submit():
        email = form.email.data.lower()
        user = User.query.filter_by(email=email).first()
        if user is None:
            logging.error("User %s is not found" % (email))
            return render_template(
                    'login.html',
                    login_form=form,
                    error="Invalid email or password")

        if not user.verify_password(unicode(form.password.data)):
            logging.error("Invalid password")
            return render_template(
                    'login.html',
                    login_form=form,
                    error="Invalid email or password")

        login_user(user)

        flash('Logged in successfully.')

        return redirect(url_for('home.index'))
    return render_template('login.html', login_form=form)
Ejemplo n.º 19
0
def login():
    """Logging in the user."""

    form = LoginForm()

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()

        # Do not allow user who registered with a social account to log
        # via the login form. Use the social login buttons instead
        if user is not None and user.register_with_provider:
            flash('Please login with your social account')
            return redirect(url_for('mod_auth.login'))

        if user is not None and user.verify_password(form.password.data):
            # The user must be activated
            if not user.confirmed:
                flash('You need to activate your account first')
                return redirect(url_for('mod_auth.login'))

            # Log the user in
            login_user(user, remember=form.remember.data)
            return redirect(request.referrer or url_for('mod_feed.index'))

        # Redirect to login page with an error message
        flash('Invalid email, password')

    return render_template('auth/login.html', form=form)
Ejemplo n.º 20
0
def login():
	form = LoginForm()
	if form.validate_on_submit():
		user = User.query.filter_by(email=form.email.data).first()
		login_user(user, remember=True)
		return redirect(url_for('index'))
	return render_template ('login.html', form=form)
Ejemplo n.º 21
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash('Login requested for OpenID="%s", remember_me=%s' %
              (form.openid.data, str(form.remember_me.data)))
        return redirect('/index')
    return render_template('login.html', title='Sign In', form=form)
Ejemplo n.º 22
0
def home():
    """
    首页视图函数

        1. 最近录入
        2. 最近借阅

        new_book_list: 最近录入新书列表(默认为6本, 依据时间[id]排序)
    """
    form = LoginForm()
    new_book_list = Book.query.order_by('-id').all()
    get_book_list = Book.query.filter_by(status=True).order_by('start desc').all()[:2]

    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is not None and user.verify_password(form.password.data):
            login_user(user)
            return redirect(url_for('user', id=current_user.id))
        flash('用户名或密码错误!')

    range_book_count = range(len(new_book_list)/6 + 1)

    return render_template('home.html', new_book_list=new_book_list,
                           get_book_list=get_book_list, form=form,
                           range_book_count=range_book_count)
Ejemplo n.º 23
0
def authenticate(project):
    print "authenticate"
    print current_user, current_user.is_authenticated()

    if not current_user.is_authenticated():
        print "logging in user"
        user = User()
        db.session.add(user)
        db.session.commit()
        login_user(user)

    if project in current_user.projects:
        print "p:", project
        current_user.current_project = project
        db.session.commit()
        return redirect(url_for('.project', project=project))

    form = LoginForm()
    if form.validate_on_submit():
        print "p:", project
        current_user.current_project = project
        current_user.projects.append(project)
        db.session.commit()
        return redirect(url_for('.project', project=project))

    return render_template('authenticate.html',
                           project=project,
                           form=form)
Ejemplo n.º 24
0
 def post(self):
     if g.user is not None and g.user.is_authenticated:
         return redirect(url_for('IndexView:get_0'))
     form = LoginForm()
     if form.validate_on_submit():
         login_user(form.user, True)
         return redirect(url_for('IndexView:get_0'))
     return render_template('login.html', title='Sign In', form=form)
Ejemplo n.º 25
0
def login():
    if g.user is not None and g.user.is_authenticated():
        return redirect(url_for('index'))
    form = LoginForm()
    if form.validate_on_submit():
        session['remember_me'] = form.remember_me.data
        return oid.try_login(form.openid.data, ask_for = ['nickname', 'email'])
    return render_template('login.html', title = 'Sign In',form = form,providers = app.config['OPENID_PROVIDERS'])
Ejemplo n.º 26
0
def bloo():
	form = LoginForm()
	if form.validate_on_submit():
		session['logged_in'] = True
		session['username'] = form.username.data
		print session['username']
		return redirect(url_for('blah'))
	return render_template('login.html', form=form)
Ejemplo n.º 27
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash('Login requested for OpenID="' + form.openid.data + '", remember_me=' + str(form.remember_me.data))
        return redirect('/index')
    return render_template('login.html',
                           title='Sign In',
                           form=form,
                           providers=app.config['OPENID_PROVIDERS'])
Ejemplo n.º 28
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash_message = 'login requested from OpenId="%s", remember_me=%s' % (form.openid.data, form.remember_me.data)
        flash(flash_message)
        return redirect('/index')
    return render_template('login.html',
        title='Please login',
        form=form)
Ejemplo n.º 29
0
def login():
    if g.user is not None and g.user.is_authenticated():
        return redirect(url_for(index))
    form = LoginForm()
    if form.validate_on_submit():
        flash('Login requested for OpenID="' + form.openid.data + '", remember_me=' + str(form.remember_me.data))
        return redirect(url_for('index'))
    return render_template('login.html',
                           form=form, title='title', providers=app.config['OPENID_PROVIDERS'])
Ejemplo n.º 30
0
def login():
    if current_user.is_authenticated():
        logout_user()
    form = LoginForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user, remember = form.remember_me)
            return redirect(request.args.get('next') or url_for('index'))
    return render_template('auth/login.html', form=form)
Ejemplo n.º 31
0
def admin():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    loginform = LoginForm()
    signupform = SignupForm()
    if request.method == 'GET':
        return render_template('login.html',
                               title='Sign In',
                               loginform=loginform,
                               signupform=signupform)
    elif request.method == 'POST':
        if loginform.validate_on_submit():
            user = User.query.filter_by(email=loginform.email.data).first()
            if user is None or not user.check_password(
                    loginform.password.data):
                flash('Invalid username or password')
                return redirect(url_for('login'))
            login_user(user, remember=loginform.remember_me.data)
            return redirect(url_for('index'))
        else:
            return render_template('login.html',
                                   title='Sign In',
                                   loginform=loginform,
                                   signupform=signupform)
Ejemplo n.º 32
0
def login():
    # login function for user login page

    # retrieve username and password from the flaskform
    form = LoginForm()
    if form.sign_up.data:
        return redirect(url_for('sign_up'))

    # proceed to backend info verification if the user clicks the submit button
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data

        # check if login is successful
        check = login_validation(username, password)

        if check:
            flash("Welcome {}".format(username))
            return redirect(url_for('upload_file'))
        else:
            flash("Invalid Username and Password")
            return redirect(url_for('login'))

    return render_template('login.html', title='Log In', form=form)
Ejemplo n.º 33
0
def login():
    session["loggedIn"] = False
    session["currentUser"] = ""
    session["access_level"]=""
    session["accountName"] =""
    form = LoginForm()
    if form.validate_on_submit():
        account = str(form.account.data)
        username = str(form.username.data)
        password = str(form.password.data)

        verify_variable=database.verify_username(account,username, password)
        if verify_variable[0]==1:
            print("Successful Authentication")
            session["access_level"]= str(verify_variable[1])
            session["loggedIn"] = True
            session["currentUser"] = username
            session["accountName"] =account
            return redirect(url_for('home_page'))

        else:
            error="Failed Authentication!"
            return render_template("login.html", form=form, error=error)
    return render_template("login.html",form=form,error="")
Ejemplo n.º 34
0
def login():
  if current_user.is_authenticated:
    return redirect(url_for('index'))
  form = LoginForm()
  if form.validate_on_submit():
    user = User.query.filter_by(email=form.email.data).first()
    if user is None or not user.check_password(form.password.data):
      flash('Invalid username or password', category='danger')
      return redirect(url_for('login'))
    if user.confirm == 'NO':
      flash(
          'Unconfirmed account, Please check your mail to confirm',
          category='danger')
      return redirect(url_for('login'))
    if not user.check_password(form.password.data):
      flash("Invalid password", 'danger')
      return redirect(url_for('login'))
    login_user(user, remember=form.remember_me.data)
    next_page = request.args.get('next')
    session['login_user'] = True
    if not next_page or url_parse(next_page).netloc != '':
      next_page = url_for('index')
    return redirect(url_for('worklist'))
  return render_template("login.html", title="Sign In", form=form)
Ejemplo n.º 35
0
def login():
	if current_user.is_authenticated:
		return redirect(url_for('index'))
	form = LoginForm()
	if form.validate_on_submit():
		user = User.query.filter_by(username=form.username.data).first()
		if user is None or not user.check_password(form.password.data):
			flash('Invalid username or password')
			return redirect(url_for('login'))
		login_user(user,True)
		print(user)
		# session['logged_in_user'] = True
		flash("User logged in.")
		stat = Stats(login_timestamp = datetime.now(), user_id=current_user.get_id())
		db.session.add(stat)
		db.session.commit()
		next_page = request.args.get('next')

		# check if the value in the next parameter is null, next page or a whole domain
		# the domain in checked using netloc
		if not next_page or url_parse(next_page).netloc != '':
			next_page = url_for('index')
		return redirect(next_page)
	return render_template('login.html',title='Sign In', form=form)
Ejemplo n.º 36
0
def login(): 
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    
    form = LoginForm()

    #if user sends a POST this activates  & does all the data valdation checks        
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
            return redirect(url_for('login'))

        login_user(user, remember=form.remember_me.data)

        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
        return redirect(next_page)
        
        #return redirect(url_for('index'))

    return render_template('login.html', title='Sign In', form=form)
Ejemplo n.º 37
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('count_logins'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username = form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            flash('Ongeldige gebruikersnaam of wachtwoord')
            return redirect(url_for('login'))
        elif user.activated != 1:
            flash('Je moet jouw account nog steeds  activeren, controleer hiervoor jouw email (ook jouw ongewenste e-mails of spam)')
            return redirect(url_for('login'))
        login_user(user, remember=form.remember_me.data)
        try:
            user.panel_id(panel_id)
        except:
            pass
        user_guest = user.username
        user_invite_guest = User_invite.query.filter_by(user_guest = user_guest).first()
        if user_invite_guest is not None:
            user_invite_guest.times_logged_in = user_invite_guest.times_logged_in + 1
            db.session.commit()
        return redirect(url_for('count_logins'))
    return render_template('login.html', title='Inloggen', form=form)
Ejemplo n.º 38
0
def login():
    if current_user.is_authenticated:  # True, если юзер зареган
        return redirect(url_for('users'))

    form = LoginForm()

    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
            return redirect(url_for('login'))
        login_user(user, remember=form.remember_me.data)
        flash('You are logged in as a {}, {}'.format(user.name,
                                                     user.character))
        if user.character == 'elf':
            return redirect(url_for('user', username=user.username))
        elif user.character == 'gnome':
            return redirect(url_for('add_gems'))
        elif user.character == 'master':
            return redirect(url_for('gems'))
        else:
            return redirect(url_for('users'))
    return render_template('login.html', title='Sign In',
                           form=form)  # form = form передает объект формы
Ejemplo n.º 39
0
def login():
    if current_user.is_authenticated:
        result = "success"
        return redirect(url_for('index'), result)
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            result = "success"
            flash('Incorrect username, or password', result)
            return redirect(url_for('login'))
        if not user.check_twofa(form.twofa.data):
            result = "success"
            flash('Two -factor failure', result)
            return redirect(url_for('login'))
        login_user(user, remember=form.remember_me.data)
        next_page = request.args.get('next')
        next_page = url_for('index')

        return render_template('loginresult.html', result='success')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
            return redirect(next_page)
    return render_template('login.html', title='Sign In', form=form)
Ejemplo n.º 40
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
            return redirect(url_for('login'))
        login_user(user, remember=form.remember_me.data)
        #Assing a current document immediately upon login
        curr_doc = Documents.query.filter_by(scraped=False).filter_by(
            user_id=None).order_by(func.random()).first()
        curr_doc.user_id = current_user.id
        curr_doc.in_use = True
        #Grab the only previous doc for the user
        prev_doc = PrevDoc.query.filter_by(user_id=current_user.id).first()
        prev_doc.in_use = True
        db.session.commit()
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
        return redirect(next_page)
    return render_template('login.html', title='Sign In', form=form)
Ejemplo n.º 41
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = LoginForm()
    if form.validate_on_submit():
        # user = User( username=form.username.data,  pwhash=form.password.data)
        flash('1a form data: {}'.format(form.username.data))

        # user_exists = User.check_user_exists(form.username.data) # User.check_user_exists(form.username.data)
        expenses = User.get_expenses(
            form.username.data)  # User.check_user_exists(form.username.data)

        # flash('1b user_exists = {}'. format(user_exists))
        flash(expenses)
        # if not user_exists:
        #     flash('2 User name is incorrect')
        #     return redirect(url_for('login'))
        flash('3 User name is correct: {}'.format(form.username.data))

        password_exists = User.check_password_exists(form.password.data)
        if not password_exists:
            flash('4 Password is incorrect')
            return redirect(url_for('login'))
            #flash('Invalid username or password')

#        login_user(user, remember=form.remember_me.data)
        flash('5 Password is correct: {}'.format(form.password.data))

        flash('6 Login is requested for user {}, remember_me={}'.format(
            form.username.data, form.remember_me.data))
        #return redirect(url_for('expenses',  expense_list=expenses))
        return render_template('expenses.html',
                               expense_list=expenses,
                               header_text="Expenses")

    return render_template('login.html', form=form)
Ejemplo n.º 42
0
def login():

    from app.forms import LoginForm

    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = LoginForm()

    if form.validate_on_submit():

        from werkzeug.security import check_password_hash
        from app.models import UserTable, User

        username = form.username.data
        password = form.password.data

        u = UserTable()

        user_data = u.select_user(username)

        if len(user_data) <= 0:
            flash("No such user")
            return redirect(url_for('login'))

        user = User(user_data[0])

        if check_password_hash(user.password_hash, password):

            login_user(user)
            return redirect(url_for('index'))

        flash("wrong wrong wrong")
        return redirect(url_for('login'))

    return render_template("login.html", title="Login", form=form)
Ejemplo n.º 43
0
def login():
    #redirect any user who is already logged in
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    #instantiate the form class we created and send it as an argument to renter_template below so that user sees the form
    form = LoginForm()
    #if the user enters valid information:
    if form.validate_on_submit():
        #run a db query for user information provided and initialize a variable with the result.
        user = User.query.filter_by(username=form.username.data).first()
        #if result of db query is none or the password isn't valid, then flask invalid username/password and redirect the user back to the login() function via url_for
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
            return redirect(url_for('login'))
        #if username and password match, then login user and redirect to index function. This creates cookie and session
        login_user(user, remember=form.remember_me.data)

        #see commend in __init__.py. this handles sending the user back to the page they tried to access after entering their password. It processes the next argument that gets inserted into the query string by the decorator.
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
        return redirect(next_page)

    return render_template('login.html', title='Sign In', form=form)
Ejemplo n.º 44
0
def login():

    if current_user.is_authenticated:
        return redirect(url_for('index'))

    title = 'Login'
    form = LoginForm()

    if form.validate_on_submit():

        user = User.query.filter_by(username=form.username.data).first()

        if (user is None) or not (user.check_password(form.password.data)):
            flash('Invalid username or password')
            return redirect(url_for('login'))

        next_page = request.args.get('next')
        if not next_page or (url_parse(next_page).netloc != ''):
            next_page = url_for('index')

        login_user(user, remember=form.remember_me.data)
        return redirect('/index')

    return render_template('login.html', title=title, form=form)
Ejemplo n.º 45
0
def login():
    #判断是否登录
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = LoginForm()
    #对数据表格进行验证
    if form.validate_on_submit():
        #查询:查到返回User,or None
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            flash('用户名或密码错误')
            return redirect(url_for('login'))  #重新定位到登录页面
        login_user(user, remember=form.remember_me.data)
        next_page = request.args.get('next')  #获取跳转地址
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
            #主页


#		flash('用户登录的名户名是:{} , 是否记住我:{}'.format( form.username.data,form.remember_me.data))
#重定向至首页
        return redirect(next_page)
    return render_template('login.html', title='登录', form=form)
Ejemplo n.º 46
0
def login():
    login_form = LoginForm()
    context = {'login_form': login_form}
    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data
        user_doc = get_user(username)
        if user_doc.to_dict() is not None:
            password_from_db = user_doc.to_dict()['password']
            if password == password_from_db:
                user_data = UserData(username, password)
                user = UserModel(user_data)

                login_user(user)
                flash('Welcome back')
                redirect(url_for('hello'))
            else:
                flash('Information no correct')
        else:
            flash('Upss.. sorry user not found')

        return redirect(url_for('index'))

    return render_template('login.html', **context)
Ejemplo n.º 47
0
def login():
    # 判断当前用户是否验证,如果通过的话返回首页
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = LoginForm()
    # 对表格数据进行验证
    if form.validate_on_submit():
        # 根据表格里的数据进行查询,如果查询到数据返回User对象,否则返回None
        user = User.query.filter_by(username=form.username.data).first()
        # 判断用户不存在或者密码不正确
        if user is None or not user.check_password(form.password.data):
            # 如果用户不存在或者密码不正确就会闪现这条信息
            flash('无效的用户名或密码')
            # 然后重定向到登录页面
            return redirect(url_for('login'))
            # 这是一个非常方便的方法,当用户名和密码都正确时来解决记住用户是否记住登录状态的问题
        login_user(user, remember=form.remember_me.data)
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
        return redirect(next_page)

    return render_template('login.html', title='登录', form=form)
Ejemplo n.º 48
0
def login():
    # 判断当前用户是否验证,如果通过的话返回首页
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = LoginForm()
    # user = None
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        # print("user", user)
        if user is None or not user.check_password(form.password.data):
            flash('无效的用户名或密码')

            return redirect(url_for('login'))
        login_user(user, remember=form.remember_me.data)
        # 此时的next_page记录的是跳转至登录页面是的地址
        next_page = request.args.get('next')
        # 如果next_page记录的地址不存在那么就返回首页
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
        # 综上,登录后要么重定向至跳转前的页面,要么跳转至首页
        return redirect(next_page)
    # 一定要有返回体,原文作者未提及,否则用户未登陆时候会报错
    return render_template('login.html', title='登录', form=form)
Ejemplo n.º 49
0
def login():
    form = LoginForm()

    # if user is already logged in, send them to the profile page
    if current_user.is_authenticated:
        flash('You are already logged in!')
        return redirect(url_for('profile', username=current_user.username))

    if form.validate_on_submit():
        # query the database for the user trying to log in
        user = User.query.filter_by(email=form.email.data).first()

        # if user doesn't exist, reload the page and flash message
        # or if the password doesn't match the password stored
        if user is None or not user.check_password(form.password.data):
            flash('Credentials are incorrect.')
            return redirect(url_for('login'))

        # if user does exist, and credentials are correct, log them in and send them to their profile page
        login_user(user, remember=form.remember_me.data)
        # flash('You are now logged in!')
        return redirect(url_for('profile', username=user.username))

    return render_template('form.html', title='Login', form=form)
Ejemplo n.º 50
0
def login():
    # used to prevent logged in user from navigating into the login page
    # redirects to the index page
    # is_authenticated method checks whether the user is logged in or not
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = LoginForm() #instantiates LogInForm class from forms.py and send it to template
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()  # first()--executes a query, when you only need to have one result
        if user is None or not user.check_password(form.password.data):
            flash('Invalid Username or password')
            return redirect(url_for('login'))

        login_user(user,remember=form.remember_me.data)
        #If the user navigates to /index, for example, the @login_required decorator will intercept the request and respond with a redirect to /login, but it will add a query string argument to this URL, making the complete redirect URL /login?next=/index. The next query string argument is set to the original URL, so the application can use that to redirect back after login.
        #Here is a snippet of code that shows how to read and process the next query string argument:
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
        return redirect(url_for(next_page))
        

    return render_template('login.html',title='Sign In', form= form)
Ejemplo n.º 51
0
def login():
    # logged-in users are redirected away
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))

    # otherwise the get the loginform from forms.py
    form = LoginForm()
    # query the database to make sure the user is valid
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            error = 'Invalid username or password'
            return render_template('login.html', form=form, error=error)

        # then log them in
        login_user(user, remember=form.remember_me.data)
        # this sends them back to the page they were looking for
        next_page = request.args.get('next')
        # and otherwise sends them to the main page
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('main.index')
        return redirect(next_page)

    return render_template('login.html', title='Sign In', form=form)
Ejemplo n.º 52
0
def login():
    if current_user.is_authenticated:
        print(current_user.username)
        return render_template('index.html',
                               title='Home',
                               user={
                                   'username': current_user.username
                               })  #redirect(url_for('index',user_name = ))

    form = LoginForm()
    print(form, '<---Form')
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
        else:
            login_user(user, remember=form.remember_me.data)
            return render_template('index.html',
                                   title='Home',
                                   user={
                                       'username': current_user.username
                                   })  #redirect(url_for('index',user_name = ))

    return render_template('login.html', title='Sign In', form=form)
Ejemplo n.º 53
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password. Please try again.', 'danger')
            return redirect(url_for('login'))
        login_user(user, remember=form.remember_me.data)

        # Needed for redirect to login after a page forces login_required
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('home')
        flash('Success! You are now logged in as {}'.format(user.username),
              'success')
        return redirect(next_page)

        flash('Success! You are now logged in as {}'.format(user.username),
              'success')
        return redirect(url_for('home'))

    return render_template('login.html', title='TC&NG - Login', form=form)
Ejemplo n.º 54
0
def login():
    # Edge Case: User is already Logged in
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    
    form = LoginForm()
    # POST Request
    if form.validate_on_submit():
        # Look for user
        user = User.query.filter_by(username=form.username.data).first()
        # Check if user exists or if password doest not match
        if user is None or not user.check_password(form.password.data):
            flash('Invalid Username or Password')
            return redirect(url_for('login'))
        # User is authenticated, log in and create session
        # Redirects user to the next page
        login_user(user, remember=form.remember_me.data)
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
        return redirect(next_page)
    
    # GET Request
    return render_template('login.html', title='Sign In', form=form)
Ejemplo n.º 55
0
def login():
    # if user is logged in already, do not let them access this page
    if current_user.is_authenticated:
        flash('You are already logged in!')
        return redirect(url_for('index'))

    form = LoginForm()

    # check if form is submitted, log user in if so
    if form.validate_on_submit():
        # query the database for the user trying to log in
        user = User.query.filter_by(username=form.username.data).first()

        # if user doesn't exist, reload page and flash message
        if user is None or not user.check_password(form.password.data):
            flash('Credentials are incorrect.')
            return redirect(url_for('login'))

        # if user does exist, and credentials are correct, log them in and send them to their profile page
        login_user(user, remember=form.remember_me.data)
        flash('You are now logged in!')
        return redirect(url_for('posts', username=current_user.username))

    return render_template('login.html', title='Login', form=form)
Ejemplo n.º 56
0
def login():
    form = LoginForm()
    if request.method == 'POST':
        if form.validate_on_submit():
            username = form.username.data
            passw = form.passw.data

            user = Users.query.filter_by(username=username).first()
            print(user)

            if user is not None and check_password_hash(user.password, passw):

                payload = {'username': username}
                token = jwt.encode(payload, 'some-secret',
                                   algorithm='HS256').decode('utf-8')

                return jsonify(error=None,
                               data={'token': token},
                               message="Token Generated",
                               id=user.id)
            else:
                return jsonify(errors=["error not valid info"])

        return jsonify(error=form_errors(form))
Ejemplo n.º 57
0
def login():
    """Pagina para loguear al usuario con sus credenciales"""
    username = session.get('username')
    login_form = LoginForm()

    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data

        user_doc = get_user(username)
        if user_doc.to_dict() is not None:
            password_from_db = user_doc.to_dict()['password']

            if check_password_hash(password_from_db, password):
                user_data = UserData(username, password)
                user = UserModel(user_data)
                login_user(user)
                flash('Bienvenido de nuevo')
                return redirect(url_for('index'))
            else:
                flash('La informacion no coincide')
        else:
            flash('El usuario no existe')
    return render_template('login.html', login_form=login_form) 
Ejemplo n.º 58
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.get_password(form.password.data):
            flash('Invalid username or password')
            return redirect(url_for('login'))
        session['logged_in'] = True
        login_user(user, remember=form.remember_me.data)
        if user.position == 1:
            session['instructor'] = True
            if current_user.is_Active:
                return redirect(url_for('instructor'))
            else:
                return redirect(url_for('insinformation'))
        else:
            session['student'] = True
            if current_user.is_Active:
                return redirect(url_for('student'))
            else:
                return redirect(url_for('sinformation'))
    return render_template('login.html', title='Sign In', form=form)
Ejemplo n.º 59
0
def signup():
    signup_form = LoginForm()
    context = {'signup_form': signup_form}

    if signup_form.validate_on_submit():
        username = signup_form.username.data
        password = signup_form.password.data

        user_doc = get_user(username)

        if user_doc.to_dict() is None:
            password_hash = generate_password_hash(password)
            user_data = UserData(username, password_hash)
            user_put(user_data)

            user = UserModel(user_data)
            login_user(user)

            flash('Bienvenido!')
            return redirect(url_for('hello'))
        else:
            flash('El usuario ya existe')

    return render_template('signup.html', **context)
Ejemplo n.º 60
0
def login():
    # If user is already logged in (using flask_login)
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = LoginForm()
    # validate_on_submit processes the form. If GET request found then else
    if form.validate_on_submit():
        # Querying the database for user
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            # Flash messages need to be rendered in the redirected page.
            # We add flash support to base.html
            flash('Invalid username or password')
            return redirect(url_for('login'))
        login_user(user, remember=form.remember_me.data)
        # In case the user has been redirected to the login page from somewhere else:
        # If no next argument in URL, send to index page.
        # .netloc checks if the URL is relative or absolute
        # This is to prevent insertion of some malicious URLs
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
        return redirect(next_page)
    return render_template('login.html', title="Sign In", form=form)