diff --git a/app/routes/auth.py b/app/routes/auth.py index 7fbbc9a..3219d0c 100644 --- a/app/routes/auth.py +++ b/app/routes/auth.py @@ -1,11 +1,10 @@ -from flask import Blueprint, render_template, request, redirect, url_for, flash, session, current_app +from flask import Blueprint, render_template, request, redirect, url_for, flash, session from flask_login import login_user, login_required, logout_user -from app.extensions.db import db from app.extensions.audit_logger import AuditLogger -from app.services.auth_service import authenticate_user, parse_ldap_user +from app.extensions.db import db from app.models import User - +from app.services.auth_service import authenticate_user, parse_ldap_user auditlog = AuditLogger(db.session) @@ -25,17 +24,21 @@ def login(): if not success: flash(error, 'danger') auditlog.auth(username_attempted=username, success=False, error=error) - return render_template("login.html") + session['login_username'] = username # сохраняем введённый логин + return redirect(url_for('auth.login')) # редирект вместо render_template + + # Очистка сохранённого логина при успешном входе + session.pop('login_username', None) data = parse_ldap_user(user_info) display_name = (f"{data['user_surname']} {data['user_name']} {data['user_middle_name']}").strip() user = User( - user_id=data['sam_account_name'], - user_name=data['user_name'], - user_surname=data['user_surname'], - user_middle_name=data['user_middle_name'], - display_name=display_name, - email=data['email'] + user_id=data['sam_account_name'], + user_name=data['user_name'], + user_surname=data['user_surname'], + user_middle_name=data['user_middle_name'], + display_name=display_name, + email=data['email'] ) session.permanent = True @@ -48,7 +51,10 @@ def login(): flash("Logged in successfully!", "success") return redirect(url_for("dashboard.dashboard")) - return render_template("login.html") + # GET-запрос — передаём в шаблон ранее введённый логин, если есть + username_prefill = session.pop('login_username', '') + return render_template("login.html", username=username_prefill) + @auth_bp.route('/logout') diff --git a/app/templates/login.html b/app/templates/login.html index 7b8db40..361b451 100644 --- a/app/templates/login.html +++ b/app/templates/login.html @@ -84,7 +84,7 @@
- +