示例#1
0
def login():
    if 'login' in session:
        return redirect('/')
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        cur = mysql.connection.cursor()
        resultValue = cur.execute("SELECT * FROM user WHERE username =%s",
                                  [username])
        if resultValue > 0:
            data = cur.fetchone()
            password1 = data['password']
            print((password))
            # print(bcrypt.check_password_hash(password1, password))
            #print(bcrypt.check_password_hash(password1, 'password'))

            if (bcrypt.check_password_hash(data['password'], password)):
                session['login'] = True
                session['firstname'] = data['first_name']
                session['lastname'] = data['last_name']
                flash(
                    'Welcome ' + session['firstname'] +
                    '! You have been successfully logged in', 'success')
                return redirect(url_for('dashboard'))
                cur.close()
            else:
                flash('Password incorrect', 'danger')
                return redirect('login')
        else:
            flash('Username incorrect', 'danger')
            return redirect('login')
    return render_template('login.html')
示例#2
0
def changepassword(username):
    if request.method == 'POST':
        old = request.form['old']
        password = request.form['password']
        confirm_password = request.form['confirm_password']
        if password != confirm_password:
            flash('Passwords do not match! Try again.', 'danger')
            return redirect('/dashboard')
        password = bcrypt.generate_password_hash(password)
        cur = mysql.connection.cursor()
        result_value = cur.execute("SELECT * FROM user WHERE username =%s",
                                   [username])
        if result_value > 0:
            user = cur.fetchone()
            if bcrypt.check_password_hash(user['password'], old):
                cur = mysql.connection.cursor()
                cur.execute("UPDATE user SET password = %s  WHERE username=%s",
                            (password, username))
                mysql.connection.commit()
                cur.close()
                flash('Password updated successfully', 'success')
                return redirect('/dashboard')
            else:
                flash('Old Password Incorrect', 'danger')
                return redirect('/dashboard')
    cur = mysql.connection.cursor()
    result_value = cur.execute("SELECT * FROM user WHERE username =%s",
                               [username])
    if result_value > 0:
        user = cur.fetchone()
        return render_template('changepassword.html', user=user)
示例#3
0
def login():
	if request.method == 'POST' :
		username = request.form['username']
		usr_entered = request.form['password']
		cursor = mysql.connection.cursor()
		cursor.execute("SELECT * FROM user WHERE username =%s", [username])
		if cursor is not None: #is not None
			data =cursor.fetchone()
			#password = data['password']
			                                  # print((password))
			                                  # print((usr_entered))
			                                  # print((generate_password_hash(usr_entered , 'pbkdf2:sha256' , 8)))
			                                  # print(check_password_hash(password , usr_entered))
			                                  # check_password_hash(password , 'usr_entered')
			if (bcrypt.check_password_hash(data['password'] , usr_entered)):
				session['login'] = True 
				session['firstname'] = data['first_name']
				session['lastname'] = data['last_name']

				flash('Welcome '+ session['firstname'] +'! You have been successfully logged in', 'success')
				cursor.close()
			else:
				flash('Password Incorrect', 'danger')  
				return redirect('/login')
	return render_template('login.html')
示例#4
0
def login():
    #we imported current user above as we want to avoid if user logged in
    # and retuned back to this page to be opened as if he didn't submit it
    if current_user.is_authenticated:
        return redirect(url_for('home'))

    form = loginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        #user.password as it's from db query not from the form itself like user.password.data
        #if condition is true we want to log user in
        #need to import login user function
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            #args is a dictionnary but we're using get() instead of []
            # next parameter which is in the URL (eg.next=%2Faccount) it tells us where the user was heading to
            next_page = request.args.get('next')
            #a ternary conditon directs us to the next page if it exists else returns us to the home
            return redirect(next_page) if next_page else redirect(
                url_for('home'))

        else:
            flash('Login Unsucessful. Please check username and password',
                  'danger')

    return render_template('login.html', title='Login', form=form)
示例#5
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))

    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            if user.confirmed:
                login_user(user, remember=form.remember.data)
                next_page = request.args.get('next')
                return redirect(next_page) if next_page else redirect(
                    url_for('main.index'))
            else:
                #todo
                #if a user raises user.confirmed is None: show a link to send verification
                #on html
                send_verification_email(user)
                flash(
                    "Verification email has been sent to your email address. ",
                    "info")
                return render_template('login.html', form=form)
        else:
            flash("Wrong credentials, please try again", "error")
            return render_template('login.html', form=form)
    return render_template('login.html', form=form)
示例#6
0
    def check_password(self, password):
        """
        Take a password attempt and see if it matches with the hash on record

        :param password: The password attempt
        :return: :rtype: boolean
        """
        return bcrypt.check_password_hash(self.password_hash, password)
示例#7
0
    def check_password(self, password):
        """
        Take a password attempt and see if it matches with the hash on record

        :param password: The password attempt
        :return: :rtype: boolean
        """
        return bcrypt.check_password_hash(self.password_hash, password)
示例#8
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(email=form.email.data).first()
		if user and bcrypt.check_password_hash(user.password, form.password.data):
			login_user(user, remember=form.remember.data)
			return redirect(url_for('home'))
		else:
			flash('Login Unsuccessful! Please check email and password', 'danger')
	return render_template("login.html", title = 'Login', form=form)
def login():
    if current_user.is_authenticated:
        return redirect(url_for('users.account'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            login_user(user, remember=form.remember.data)
            flash(f'Login was successful. Happy posting', 'success')
            return redirect(url_for('users.account'))
        else:
            flash('Login unsuccessful. Please check email and password', 'danger')
    return render_template('login.html', title='Login', form=form)
示例#10
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(url_for("main.home"))
        else:
            flash("登入失敗. 請檢查信箱和密碼是否正確", "danger")
    return render_template("login.html", form = form, title = "Login")
示例#11
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(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,form.password.data):
            login_user(user,remember=form.remember.data)
            next_page=request.args.get('next')
            return redirect(next_page) if next_page else redirect(url_for('home'))
        else:
            flash('Login Unsucessful.Please check email and password',category='danger')
    return render_template('login.html',title='Login',form=form)
示例#12
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(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,form.password.data):
            login_user(user,remember=form.remember.data)
            flash(f'login successfully for user {form.email.data}!','success')
            return redirect(url_for('home'))
        else:
            flash(f'login failed please enter correct Email and Password !','danger')
    return render_template('login.html',form=form)
示例#13
0
def login():
    login_form = LoginForm()
    if login_form.validate_on_submit():
        # Login User if User exists in database and credentials are correct.
        user = User.objects(email=login_form.email.data.lower()).first()
        if user and bcrypt.check_password_hash(user.password,
                                               login_form.password.data):
            login_user(user)
            flash("You are logged in.", "success")
            return redirect(url_for("main.home"))
        else:
            flash("Login unsuccessful. Check email and password.", "danger")
    return render_template("users/login.html", title="Login", form=login_form)
示例#14
0
文件: routes.py 项目: Throupy/Blog
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 and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            flash('You have been logged in!', 'is-success')
            return redirect(url_for('index'))
        else:
            flash('Login unsuccessful, please try again', 'is-danger')
    return render_template('login.html', form=form)
示例#15
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            flash(f"You have successfully logged with {form.email.data} email!", 'success')
            return redirect(next_page) if next_page else redirect(url_for('main.home'))
        else:
            flash(f"Login Faild. Please provide correct username and password!", 'danger')
    return render_template('login.html', title="Login", form=form)
示例#16
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(email=form.email.data).first()
                or User.query.filter_by(phone=form.phone.data).first())
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('home'))
    return render_template('login.html', title='Login', form=form)
示例#17
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            flash("Logged In Successfuly  ", 'success')
            return redirect(url_for('main.home'))
        else:
            flash(f"Unsuccesful Login,Please Enter correct details", 'danger')
    return render_template('login.html', title="Login", form=form)
示例#18
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.find_by_email(form.email.data)
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash('Login unsuccessful. Please check username & password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
示例#19
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 and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next = request.args.get("next")
            flash("You are successfully log in.", "success")
            return redirect(next) if next else redirect(url_for("index"))
        else:
            flash("Check your email or password.", "danger")
    return render_template("login.html", title="Login", form=form)
示例#20
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(email=form.email.data).first()
        # Check if such a user exists, then check that the passwords match
        if user is None or not bcrypt.check_password_hash(user.password, form.password.data):
            flash(f'Login failed. Username and password do not match', 'danger')
            return render_template('login.html', title='Login', form=form)
        flash('Successfully logged in.', 'success')
        login_user(user, remember=form.remember.data)
        next_page = request.args.get('next')
        return redirect(next_page) if next_page else redirect(url_for('home'))
    return render_template('login.html', title='Login', form=form)
示例#21
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if (user and bcrypt.check_password_hash(user.password,
                                                form.password.data)):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get("next", "/main.home")[1:]
            return redirect(url_for(next_page))
        else:
            flash("Incorrect credentials!", category="danger")

    return render_template("login.html", title="Login", form=form)
示例#22
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('Subjects'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('Subjects'))
        else:
            flash('Incorrect Email or Passowrd Compination', 'danger')
    return render_template('login.html', form=form)
示例#23
0
def login():
    if current_user.is_authenticated:
        redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        # get user
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            login_user(user, remember=form.remember.data) # remember is a boolean input
            # don't use args['next'] or will show error when key doesn't exist
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(url_for('main.home'))
        else:
            flash('Login Unseccessful. Please check email and password', 'danger')
    return render_template('login.html', title='Login', form=form)
示例#24
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.objects.filter(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            # flash(f'You have been logged in by {user.username}', 'success')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash(f'Email or Password wrong. Please check again.', 'danger')
    return render_template('login.html', title='Login', form=form)
示例#25
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 and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            flash(f"Logged In", "success")
            return redirect(next_page) if next_page else redirect(
                url_for("index"))
        else:
            flash("Login Unsuccessful, Check Username or Password", "danger")
    return render_template("login.html", form=form)
示例#26
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, form.remember.data)
            flash("You have been logged in", "success")
            next_page = request.args.get("next")
            return redirect(next_page) if next_page else redirect(
                url_for("main.home"))
        else:
            flash("check email and password", "danger")
    return render_template("login.html", form=form, title="login")
示例#27
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.rememberMe.data)
            nextPage = request.args.get("next")
            return redirect(nextPage) if nextPage else redirect(
                url_for("main.home"))
        else:
            flash("Login Unsuccessful. Please check login information.",
                  "danger")
    return render_template('login.html', title="Login", form=form)
示例#28
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(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('home'))
        else:
            flash('Не получилось войти, проверьте свои email и пароль',
                  'danger')
    return render_template('login.html', title='Вход', form=form)
示例#29
0
def login() -> str:
    if CurrentUser().authenticated():
        return PageRedirect(PageUrlFor("home")).link()
    form: FlaskForm = LoginForm()
    if form.validate_on_submit():
        user: User = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            CurrentUser().login(user, form)
            next_page: str = PageRequest("next").get()
            return PageRedirect(
                PageUrlFor(next_page if next_page else "home")).link()
        else:
            PageFlash("Login Unsuccessful. Please check email and password",
                      "danger").display()
    return YFoxTemplate("login.html").render(title="Login", form=form)
示例#30
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(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember_me.data)
            flash(f"Login successful", "success")
            if request.args.get("next"):
                return redirect(request.args.get("next"))
            return redirect(url_for('home'))
        flash(f"Login unsuccessful, check email or password")
    return render_template("login.html", form=form, title="Login")
示例#31
0
def login():
    error = None
    form = LoginForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            user = User.query.filter_by(name=request.form['name']).first()
            if user is not None and bcrypt.check_password_hash(
                    user.password, request.form['password']):
                session['logged_in'] = True
                session['user_id'] = user.id
                session['role'] = user.role
                session['name'] = user.name
                flash('Welcome!')
                return redirect(url_for('tasks.tasks'))
            else:
                error = 'Invalid username or password.'
    return render_template('login.html', form=form, error=error)
示例#32
0
 def password_correct(self, password):
     return bcrypt.check_password_hash(self.password, password)
示例#33
0
 def check_password(self, password):
     return bcrypt.check_password_hash(self.password_hash, password)