Update Casdoor configuration and enhance user experience in the application. Changed CASDOOR_ENDPOINT and CASDOOR_REDIRECT_URI to use secure URLs. Improved login message to prompt users in Chinese. Added session cookie settings for cross-domain SSO. Cleaned up flash messages on successful login. Updated logging to reflect user actions and application startup events.

This commit is contained in:
2025-12-10 16:51:40 +08:00
parent 0bb323bbff
commit 539a981567
11 changed files with 172 additions and 859 deletions
Binary file not shown.
+5 -5
View File
@@ -1,4 +1,5 @@
from flask import render_template, request, redirect, url_for, flash, session
import urllib.parse
from flask_login import login_user, login_required, logout_user, current_user
from scripts.models import db, User
from utils.casdoor_auth import casdoor_auth
@@ -98,7 +99,9 @@ def init_auth_routes(app):
# 登录用户
login_user(user)
app.logger.info(f'用户 {user.name}({user.phone}) 通过 Casdoor 登录成功')
# 清除可能残留的未登录提示
session.pop('_flashes', None)
return redirect(url_for('dashboard'))
@app.route('/logout')
@@ -106,8 +109,5 @@ def init_auth_routes(app):
def logout():
app.logger.info(f'用户 {current_user.name}({current_user.phone}) 登出')
logout_user()
# 如果配置了 Casdoor,可以重定向到 Casdoor 登出页面
if app.config.get('CASDOOR_ENDPOINT'):
logout_url = f"{app.config.get('CASDOOR_ENDPOINT')}/logout"
return redirect(logout_url)
# 仅退出本地会话,保留 Casdoor 登录态
return redirect(url_for('login'))