예제 #1
0
def login():

    if current_user.is_authenticated:
        flash("Already Logged In.", "success")
        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")
            flash(f"Login Successful. Welcome {user.username}", "success")

            # Stored until user has logged out
            session["username"] = user.username
            session["email"] = user.email

            if form.category.data == "Employer":
                return (redirect(next_page) if next_page else redirect(
                    url_for("employer")))
            elif form.category.data == "Employee":
                return (
                    # redirect(next_page) if next_page else redirect(url_for("employee"))
                    plaid_authenticate())
            else:
                return redirect(next_page) if next_page else redirect(
                    url_for("home"))
        else:
            flash(
                "Login Unsuccessful. Check your email and password and try again!",
                "danger",
            )

    return render_template("login.html", title="Login", form=form)
예제 #2
0
def login():
    # Checks that a logged user didn't somehow reach the login page.
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form_to_render = LoginForm()

    # Checks user credentials on a submitted form.
    if form_to_render.validate_on_submit():
        clinic = Clinic.query.filter_by(
            email=form_to_render.email.data).first()
        # If the user doesn't exist or the password doesn't match, throws error and returns to login.
        if clinic is None or not clinic.check_password(
                form_to_render.password.data):
            flash('Invalid email or password')
            return redirect(url_for('login'))

        # If everything checks out, log the user in (saves details to current_user).
        login_user(clinic, remember=form_to_render.remember_me.data)
        next_page = request.args.get('next')
        # Checks that next_page was not set to an absolute URL to prevent cross-site attacks
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
        return redirect(next_page)

    # If the request is GET, renders the login template.
    return render_template('login.html', title='Sign In', form=form_to_render)
예제 #3
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data

        conn = sqlite3.connect('user.db')
        c = conn.cursor()
        c.execute("SELECT * FROM users WHERE username=?", (username, ))
        result = c.fetchone()

        if result is None:
            conn.commit()
            conn.close()
            flash('Login failed. Username does not exist')
            return redirect(url_for('index'))
        if username == result[0] and verify_password(result[1], password):
            session = request.cookies.get('session')
            c.execute("UPDATE users SET userSession=? WHERE username=?",
                      (session, username))
            conn.commit()
            conn.close()
            flash('User {} is logged-in.'.format(form.username.data))
            response = make_response(redirect(url_for('index')))
            response.set_cookie('username', username)
            response.set_cookie('userSession', session)
            return response
        else:
            conn.commit()
            conn.close()
            flash('Login failed. Wrong username or password.')
            return redirect(url_for('index'))
    return render_template('login.html', name='Login', form=form)
def login():
    form = LoginForm()
    if form.validate_on_submit():
        if form.username.data == config.USERNAME and form.password.data == config.PASSWORD:
            return render_template('userauth.html', iscorrectuser=True)
        else:
            return render_template('userauth.html', iscorrectuser=False)
    return render_template('loginpage.html', form=form)
예제 #5
0
파일: routes.py 프로젝트: farbs03/apwiki
def login():
	form = LoginForm()
	if form.validate_on_submit():
		if form.email.data == "*****@*****.**" and form.password.data == "Hse220793":
			flash('You have been logged in!', "success")
			return redirect(url_for('home'))
		else:
			flash('Login unsucessful, please check email and password', "danger")
	return render_template("login.html", form=form)
예제 #6
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash(
            f"Login success for {form.username.data} with password length of: {len(form.password.data)}!",
            "success",
        )
        return redirect(url_for("home"))
    return render_template("login.html", title="Login", form=form)
def login():
    form = LoginForm()
    messages = []
    if request.method == 'POST' and form.validate_on_submit():
        user = Users.query.filter(
            or_(Users.username == form.username.data,
                Users.email == form.username.data)).first()
        if user:
            if bcrypt.check_password_hash(user.password, form.password.data):
                login_user(user, remember=form.remember.data)
                return redirect(url_for('index'))
        messages.append('Username/Email or password wrong')
    return render_template('login.html', form=form, messages=messages)
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 Unsuccessful. Please check email and password', 'danger')
    return render_template('login.html', title='Login', form=form)
예제 #9
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = models.UserInfo.query.filter_by(loginname=form.username.data).first()
        if user is not None and user.verifypassword(form.password.data):
            login_user(user, form.remember_me.data)
            branch = models.BranchInfo.query.filter_by(branchid=user.branchid).first()
            # todo 调整session存储
            session['branchname'] = branch.cname
            session['username'] = user.username
            return redirect(request.args.get('next') or url_for('main.index'))
        flash('Invalid username or password!')
    return render_template('main/login.html', form=form)
예제 #10
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(account=form.account.data).first()
        if user and user.account == user.password:
            login_user(user)
            flash('請設定新密碼', 'danger')
            return redirect(url_for('reset'))
        elif user and user.password == form.password.data:
            login_user(user, remember=form.remember.data)
            return redirect(url_for('home'))
        else:
            flash('帳號或密碼錯誤', 'danger')
    return render_template('account.html', form=form, title='登入系統')
예제 #11
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)
        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)
예제 #12
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('backindex'))

    form=LoginForm()
    if form.validate_on_submit():
        blog=Blog.query.filter_by(email=form.email.data).first()
        if blog is None:
            flash('登录错误,请联系管理员',category='error')
            return redirect(url_for('index'))
        send_login_mail(blog)
        flash('邮件已发出,请通过邮件内的链接进行登录',category='success')
        flash('若未查收到邮件,请尝试翻阅垃圾箱或联系管理员',category='error')
        return redirect(url_for('index'))

    return render_template('/backsys/login_email.html',form=form)
예제 #13
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = Student.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            abort(401, message='Неверный логин или пароль')
        else:
            session.pop('username', 0)
            session.pop('user_id', 0)
            session['username'] = user.username
            session['user_id'] = user.id
            if user.teacher:
                return redirect('/teacher_page')
            else:
                return redirect("/index")
    return render_template('Login.html', title='Авторизация', form=form)
예제 #14
0
def login():
    form = LoginForm()
    if form.validate_on_submit():  #對帳密
        user = User.query.filter_by(name=form.name.data).first()
        try:
            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('main.home'))
            else:
                flash('Please check your account and password.', 'warning')
        except:
            flash('Please check your account and password.', 'warning')

    return render_template('login.html', title='Login', form=form)
예제 #15
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm(request.form)
    if form.validate_on_submit() and request.method == 'POST':
        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')
            if next_page:
                return redirect(next_page)
            else:
                return redirect(url_for('home'))
        else:
            flash('Please check your login credentials.')
    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()
        Pass = bcrypt.check_password_hash(user.password, form.password.data)
        if user and Pass:
            login_user(user)
            flash('تم تسجيل الدخول بنجاح', 'success')
            return redirect(url_for('home'))
        else:
            flash('فشل تسجيل الدخول اعد المحاوله', 'danger')

    file = url_for('static', filename='css/main.css')
    return render_template('login.html', file=file, form=form)
예제 #17
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = LoginForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        remember = form.remember_me.data

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

        if user is not None and user.validate_password(password):
            login_user(user, remember)
            flash('欢迎回来', 'info')
            return redirect_back()
        flash('密码或用户名错误!', 'warning')
    return render_template('login.html', form=form, bs=bs)
예제 #18
0
파일: routes.py 프로젝트: olaborde/Blogz
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_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('index'))  #ternary condition if else

        else:
            flash('It is not Happening today, check your username or password',
                  'danger')

    return render_template('login.html', form=form, title='Login')
예제 #19
0
def login():
    form = LoginForm()
    remember_me_checked = ''

    # Handle the submision
    if form.validate_on_submit():
        # Validate login credentials
        if form.remember_me.data:
            remember_me_checked = "to be remembered"
        else:
            remember_me_checked = "not to be remembered"

        # Flashes a message
        flash('{} has logged in, chosen {}'.format(form.username.data,
                                                   remember_me_checked))

        # Go to different page instead of loading this one
        return redirect(url_for('index'))
    return render_template('/login.html', title='Sign In', form=form)
예제 #20
0
def login():
    prelogin()
    form = LoginForm()
    if form.validate_on_submit() and check_passport(form.username.data, None):
        user = User.query.filter_by(username=form.username.data).first()
        if user is not None and user.verify_password(form.password.data):
            if user.enabled:
                user.ping()
                login_user(user)
                if user.quota_exceeded:
                    flash(
                        "您已经使用了{} MBytes 流量,可用流量已用完. 请用微信扫描下方二维码联系管理员充值.".
                        format(user.quota), "warning")
                    return redirect(url_for('dashboard'))
                if session.get("gw_id") is None:
                    #If the user is not redirected by router, go to the dashboard, do not assign wifi token
                    return redirect(url_for('dashboard'))
                else:
                    # add by lean for limit reReg
                    user.mac = session.get('mac')
                    invalid_users = User.query.filter_by(
                        mac_t=session.get('mac'), enabled=True).all()
                    if len(invalid_users) > 1:
                        user.user_enable = False
                    db.session.add(user)
                    db.session.commit()
                    # end by lean
                    #Only assign token if login via wifidog
                    new_token = user.assign_token(session.get('ip'),
                                                  session.get('mac'))
                    gateway_auth_url = "http://{}:{}/wifidog/auth?token={}".format(
                        session['gw_address'], session['gw_port'], new_token)
                    del session['gw_id']
                    session['wifitoken'] = new_token
                    return redirect(gateway_auth_url)
            else:
                flash("您的账户已经被禁用.", "warning")
        else:
            flash('用户名与密码不匹配.', "warning")
    else:
        flash('用户名不合法.', "warning")
    return render_template('login.html', form=form)
예제 #21
0
def login():
    if current_user.is_authenticated:
        flash('You already log in.')
        return redirect(url_for('index.index'))
    print("check login")
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data.lower()).first()
        if user is not None:
            password = form.password.data
            if user.verify_password(password):
                print("login in success")
                remember = form.remember.data
                login_user(user,remember)
                return redirect(url_for('chat.platform'))
            else:
                flash('You email or password is wrong, please try again')
        else:
            flash('Sorry, the account doesn`t exist.')
    return render_template("auth/login.html", form = form)
예제 #22
0
def login():
    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)
            
            print("'" + user.username + "' Has loggd in")
            flash('You are now loggd in!', 'success')
            return redirect(url_for("home"))
        else:
            if user:
                print("'" + user.username + "' Has tride loggd in but the passowrd was wrong")
            else:
                print("'" + form.email.data + "' We don't have the email in the databse")
            flash("Login Unsuccessful. Please check username and password", "danger")
        
    return render_template("login.html", title="Login", form=form)
예제 #23
0
파일: routes.py 프로젝트: yash56244/TechHub
def login():
    form = LoginForm(request.form)
    if form.validate_on_submit() and request.method == 'POST':
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(
                user.password,
                form.password.data) and user.role == form.role.data:
            session['role'] = form.role.data
            login_user(user)
            next_page = request.args.get('next')
            if next_page:
                return redirect(next_page)
            else:
                if form.role.data == 'customer':
                    return redirect(url_for('customer_home'))
                else:
                    return redirect(url_for('seller_dashboard'))
        else:
            flash('Please check your credentials', 'error_outline')
    return render_template('login.html', form=form, title='Login')
예제 #24
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        data = '{"email":"' + form.email.data + '", "password":"******"}'
        r = requests.post(current_app.config["API_URL"] + '/auth/login',
                          headers={"content-type": "application/json"},
                          data=data)
        if r.status_code == 200:
            user_data = json.loads(r.text)
            print(user_data)
            user = User(id=user_data.get("id"),
                        mail=user_data.get("mail"),
                        rol=user_data.get("rol"))
            login_user(user)
            req = make_response(redirect(url_for('main.vista')))
            req.set_cookie('access_token',
                           user_data.get("access_token"),
                           httponly=True)
            return req
        else:
            flash('Usuario o contraseña incorrecta', 'danger')
    return render_template('iniciar_sesion.html', form=form)
예제 #25
0
def login():
    # If already logged in, cannot login anymore
    if current_user.is_authenticated:
        return redirect(url_for('req.index'))

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

        # Check if user has been registered and if the password matches
        if user is None or not user.check_password(form.password.data):
            flash('Invalid staff ID or password.')
            return redirect(url_for('auth.login'))

        login_user(user, remember=form.remember_me.data)
        next_page = request.args.get('next')
        # Redirect to index if full URL is included to make the application more secure
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('req.index')
        return redirect(next_page)

    return render_template('auth/login.html', title='Sign In', form=form)
예제 #26
0
def login():
    url = current_app.config['API_URL'] + '/auth/login'
    login_form = LoginForm()

    if login_form.validate_on_submit():
        data = {
            "email": login_form.email.data,
            "password": login_form.password.data
        }
        r = requests.post(url=url,
                          headers={'content-type': 'application/json'},
                          data=json.dumps(data))

        if r.status_code == 200:
            user_json = json.loads(r.text)
            logged_user = LoggedUser(id=user_json['id_num'],
                                     email=user_json['email'],
                                     admin=user_json['admin'])
            login_user(logged_user)  # Logs in the user
            if user_json['admin'] == True:
                req = make_response(redirect(
                    url_for('main.admin_index')))  # Redirection request
                req.set_cookie('access_token',
                               user_json['token'],
                               httponly=True)
                return req
            if user_json['admin'] == False:
                req = make_response(
                    redirect(url_for(
                        'main.seismologist_index')))  # Redirection request
                req.set_cookie('access_token',
                               user_json['token'],
                               httponly=True)
                return req
        else:
            flash("Unknown credentials. Please try again.", 'danger')

    return render_template('/derived/log-in.html', login_form=login_form)
예제 #27
0
def login():
    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("You have successfully logged in.", "success")

            #return redirect(next_page) if next_page else redirect(url_for('fitness_page'))
            return redirect(url_for('fitness_page'))

        else:
            flash(
                'Login Unsuccessful. Please check your username and/or password.',
                'danger')

    return render_template('login.html', title='Log In', form=form)
예제 #28
0
def Login():
    if current_user.is_authenticated:
        flash("You are already logged in", 'warning')
        return redirect(url_for('home'))
    form = LoginForm()
    if form.validate_on_submit():
        euser = User.query.filter_by(email=form.email.data).first()
        #nuser = User.query.filter_by(email=form.email.data).first()

        if euser and bcrypt.check_password_hash(euser.password,
                                                form.password.data):
            flash(f'{euser.username}! logged in', 'success')
            login_user(euser, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('home'))
            #if next_page:
            #    return redirect(url_for(next_page))
            #else:
            #    return redirect(url_for('home'))
        else:
            flash('Failed Login. Please check email and password', 'danger')
    return render_template('logIn.html', form=form, title='Log In')
예제 #29
0
def register():
    form = LoginForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data

        if (len(username) < 4) or (len(password) < 6):
            flash(
                'Registration failed. Username must be no less than 4 characters, and password must be no less than 6 characters'
            )
            return redirect(url_for('index'))

        password = hash_password(form.password.data)

        conn = sqlite3.connect('user.db')
        c = conn.cursor()
        c.execute("SELECT * FROM users WHERE username=?", (username, ))
        result = c.fetchone()
        if result is not None:
            flash('Registration failed. Username exists')
            conn.commit()
            conn.close()
            return redirect(url_for('index'))

        session = request.cookies.get('session')
        c.execute("INSERT INTO users VALUES (?,?,0,0,0,?,'-')",
                  (username, password, session))
        conn.commit()
        conn.close()

        flash('User {} is registered and logged-in.'.format(
            form.username.data))
        response = make_response(redirect(url_for('index')))
        response.set_cookie('username', username)
        response.set_cookie('userSession', session)
        return response
    return render_template('register.html', name='Register', form=form)