mirror of
https://github.com/Lost-MSth/Arcaea-server.git
synced 2026-02-09 01:07:27 +08:00
Update to v1.4
This commit is contained in:
50
latest version/web/login.py
Normal file
50
latest version/web/login.py
Normal file
@@ -0,0 +1,50 @@
|
||||
#import sqlite3
|
||||
from flask import (Blueprint, flash, g, redirect,
|
||||
render_template, request, session, url_for)
|
||||
import functools
|
||||
|
||||
bp = Blueprint('login', __name__, url_prefix='/web')
|
||||
|
||||
|
||||
@bp.route('/login', methods=('GET', 'POST'))
|
||||
def login():
|
||||
# 登录
|
||||
if request.method == 'POST':
|
||||
username = request.form['username']
|
||||
password = request.form['password']
|
||||
error = None
|
||||
|
||||
if username != 'admin' and password != 'admin':
|
||||
error = '错误的用户名或密码 Incorrect username or password.'
|
||||
|
||||
if error is None:
|
||||
session.clear()
|
||||
session['user_id'] = 'admin'
|
||||
return redirect(url_for('index.index'))
|
||||
|
||||
flash(error)
|
||||
|
||||
return render_template('web/login.html')
|
||||
|
||||
|
||||
@bp.route('/logout')
|
||||
def logout():
|
||||
# 登出
|
||||
session.clear()
|
||||
flash('成功登出 Successfully log out.')
|
||||
return redirect(url_for('index.index'))
|
||||
|
||||
|
||||
def login_required(view):
|
||||
# 登录验证,写成了修饰器
|
||||
@functools.wraps(view)
|
||||
def wrapped_view(**kwargs):
|
||||
x = session.get('user_id')
|
||||
# 少用户存在验证
|
||||
if x is None:
|
||||
return redirect(url_for('login.login'))
|
||||
|
||||
g.user = {'user_id': x, 'username': 'admin'}
|
||||
return view(**kwargs)
|
||||
|
||||
return wrapped_view
|
||||
Reference in New Issue
Block a user