Esempio n. 1
0
def login():
    form = UserLoginForm()
    if request.method == 'POST' and form.validate_on_submit():
        error = None
        user = User.query.filter_by(username=form.username.data).first()
        if not user or not check_password_hash(user.password,
                                               form.password.data):
            error = "Incorrect username or password."
        if error is None:
            session.clear()
            session['user_id'] = user.id
            return redirect(url_for('main.index'))
        flash(error)
    return render_template('auth/login.html', form=form)
Esempio n. 2
0
def login():
    form = UserLoginForm()
    if request.method == "POST" and form.validate_on_submit():
        error = None
        user = User.query.filter_by(username=form.username.data).first()
        if not user:
            error = "존재하지 않는 사용자입니다."
        elif not check_password_hash(user.password, form.password.data):
            error = "비밀번호가 올바르지 않습니다."
        if error is None:
            session.clear()
            session["user_id"] = user.id
            return redirect(url_for("main.index"))
        flash(error)
    return render_template("auth/login.html", form=form)
def index():
    form = UserLoginForm()
    if request.method == 'POST' and form.validate_on_submit():
        error = None
        user = User.query.filter_by(username=form.username.data).first()
        if not user:
            error = "존재하지 않는 사용자입니다."
        elif not check_password_hash(user.password, form.password.data):
            error = "비밀번호가 올바르지 않습니다."
        if error is None:
            session.clear()
            session['user_id'] = user.id
            return redirect(url_for('main.dash'))
        flash(error)
    return render_template('/index.html', form=form)
Esempio n. 4
0
def login():
    form = UserLoginForm()
    if request.method == 'POST' and form.validate_on_submit():
        error = None
        user = User.query.filter_by(email=form.email.data).first()
        if not user:
            error = '등록되지 않은 사용자 계정입니다.'
        elif not check_password_hash(user.password, form.password.data):
            error = '비밀번호가 올바르지 않습니다.'
        if error is None:
            session.clear()
            session['user_id'] = user.id
            return redirect(url_for('main.index'))
        flash(error)
    return render_template('auth/login.html', form=form)
Esempio n. 5
0
def login():
    form = UserLoginForm()
    if request.method == "POST" and form.validate_on_submit():
        error = None
        user = User.query.filter_by(username=form.username.data).first()
        if not user:
            error = "존재하지 않는 사용자입니다."
        elif not check_password_hash(user.password, form.password.data):
            error = "비밀번호가 올바르지 않습니다."
        if error is None:
            # 세션은 플라스크 메모리에 저장되기 때문에 플라스크 서버가 구동중인 동안에는 영구적으로 사용할 수 있는 값
            # ※ 세션은 영구적이지만 타임아웃이 설정되어 있어서 타임아웃 시간동안 접속이 없으면 세션정보가 삭제된다.
            session.clear()
            session["user_id"] = user.id
            return redirect(url_for("main.index"))
        flash(error)
    return render_template("auth/login.html", form=form)
Esempio n. 6
0
def login():
    form = UserLoginForm()
    if request.method == 'POST' and form.validate_on_submit():
        error = None
        user = User.query.filter_by(username=form.username.data).first()
        if not user:
            error = "존재하지 않는 사용자입니다."
        elif not check_password_hash(user.password, form.password.data):
            error = "비밀번호가 올바르지 않습니다."
        if error is None:
            session.clear()
            session['user_id'] = user.id
            # 로그인 되었을때 session 변수에 User의 id값을 저장하면
            # 브라우저 요청이 발생할 경우 이 세션값으로 사용자가
            # 로그인한 사용자인지 아닌지를 판별할 수 있게 됨
            return redirect(url_for('main.index'))
        flash(error)
    return render_template('auth/login.html', form=form)
Esempio n. 7
0
def login():
    form = UserLoginForm()
    if request.method == 'POST' and form.validate_on_submit():
        error = None
        user = User.query.filter_by(username=form.username.data).first()
        if not user:
            error = "존재하지 않는 사용자입니다."
        # 입력받은 비밀번호랑 hash로 암호화된 기존에 있던 비밀번호의 일치 여부 확인
        elif not check_password_hash(user.password, form.password.data):
            error = "비밀번호가 올바르지 않습니다."
        if error is None:
            # session : 플라스크 서버를 구동하는 동안에는 영구히 참조할 수 있는 값
            session.clear()
            # session에 user_id값을 저장함으로써 다양한 url 요청에 이 세션 값 사용 가능
            session[
                'user_id'] = user.id  # session에 key('user_id')와 key값(db에서 조회된 사용자의 id값) 저장
            return redirect(url_for('main.index'))
        flash(error)
    return render_template('auth/login.html', form=form)
Esempio n. 8
0
def login():
    form = UserLoginForm()
    if request.method == 'POST' and form.validate_on_submit():
        error = None
        user = User.query.filter_by(username=form.username.data).first()
        print(user)
        print(form.username)
        if not user:
            error = "존재하지 않는 사용자 입니다."
        elif not check_password_hash(user.password, form.password.data):
            error = "비밀번호가 올바르지 않습니다."
        if error is None:
            # 플라스크 세션(session)에 user_id라는 키에 조회된 사용자의 id값을 저장한다. 세션은 request와 마찬가지로 플라스크가 자동으로 생성하여 제공하는 변수이다.
            # 세션은 플라스크 메모리에 저장되기 때문에 플라스크 서버가 구동중인 동안에는 영구적으로 사용할 수 있는 값이다
            # 세션은 영구적이지만 타임아웃이 설정되어 있어서 타임아웃 시간동안 접속이 없으면 세션정보가 삭제된다.
            # session 변수에 User의 id값을 저장하면 브라우저 요청이 발생할 경우 이 세션값으로 사용자가 로그인한 사용자인지 아닌지를 판별할 수 있게 된다.
            # 그리고 세션(session)은 이 쿠키당 하나씩 생성되는 서버의 메모리 공간이라고 할 수 있다.
            session.clear()
            session['user_id'] = user.id
            return redirect(url_for('main.index'))
        flash(error)
    return render_template('auth/login.html', form=form)