"""认证路由:登录、登出""" from flask import render_template, request, redirect, url_for, flash, session from models import db, User from utils import log_operation def register_routes(app): @app.route('/login', methods=['GET', 'POST'], endpoint='login') def login(): if request.method == 'POST': username = request.form.get('username') password = request.form.get('password') user = User.query.filter_by(username=username).first() if user and user.check_password(password): session['user_id'] = user.id session['username'] = user.username session['role_id'] = user.role_id log_operation('登录', f'用户{username}登录') return redirect(url_for('dashboard')) flash('用户名或密码错误', 'danger') return render_template('login.html') @app.route('/logout', endpoint='logout') def logout(): session.clear() flash('已退出登录', 'info') return redirect(url_for('login'))