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
+3 -2
View File
@@ -35,9 +35,10 @@ UWSGI_DISABLE_LOGGING=true
UWSGI_MEMORY_REPORT=true
UWSGI_ENABLE_THREADS=true
CASDOOR_ENDPOINT=http://10.10.10.14:18000
# casdoor配置
CASDOOR_ENDPOINT=https://casdoor.dhdx.fun
CASDOOR_CLIENT_ID=8f323670e073612794ef
CASDOOR_CLIENT_SECRET=bc37d89f9220fe5a46c17125c731d2daf22f1299
CASDOOR_REDIRECT_URI=http://10.10.10.14:18019/callback
CASDOOR_REDIRECT_URI=https://zd.dhdx.fun/callback
CASDOOR_ORGANIZATION_NAME=built-in
CASDOOR_APPLICATION_NAME=4an
Binary file not shown.
Binary file not shown.
+2
View File
@@ -58,6 +58,8 @@ def create_app():
login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'login'
# 默认未登录提示改为中文
login_manager.login_message = '请先登录以访问此页面'
@login_manager.user_loader
def load_user(user_id):
+4
View File
@@ -31,3 +31,7 @@ class Config:
CASDOOR_ORGANIZATION_NAME = os.environ.get('CASDOOR_ORGANIZATION_NAME', 'built-in')
CASDOOR_APPLICATION_NAME = os.environ.get('CASDOOR_APPLICATION_NAME', 'app-built-in')
CASDOOR_REDIRECT_URI = os.environ.get('CASDOOR_REDIRECT_URI', 'http://localhost:18061/callback')
# 会话 Cookie 配置(跨域 SSO 时建议设置)
SESSION_COOKIE_SAMESITE = os.environ.get('SESSION_COOKIE_SAMESITE', 'Lax')
SESSION_COOKIE_SECURE = os.environ.get('SESSION_COOKIE_SECURE', 'False').lower() == 'true'
+40 -69
View File
@@ -1,69 +1,40 @@
2025-12-10 15:06:31 INFO: 重定向到 Casdoor 授权页面
2025-12-10 15:06:39 INFO: Casdoor 用户信息: {'sub': '798f4436-fbb6-45f4-bf0c-6e1cf4add605', 'iss': 'http://10.10.10.14:18000', 'aud': '8f323670e073612794ef', 'preferred_username': 'test', 'name': '韦矍森', 'email': 'voole@vip.qq.com', 'email_verified': True, 'picture': 'https://cdn.casbin.org/img/casbin.svg', 'phone': '19977899008'}
2025-12-10 15:06:39 INFO: 更新用户信息: 韦矍森(19977899008)
2025-12-10 15:06:39 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
2025-12-10 15:06:39 INFO: 用户 韦矍森 访问仪表盘页面
2025-12-10 15:06:49 INFO: 用户 韦矍森 访问统计页面
2025-12-10 15:06:50 INFO: 用户 韦矍森 访问历史记录页面
2025-12-10 15:06:51 INFO: 用户 韦矍森 访问统计页面
2025-12-10 15:06:54 INFO: 用户 韦矍森 访问仪表盘页面
2025-12-10 15:09:46 INFO: 应用启动
2025-12-10 15:09:46 INFO: 错误处理器初始化完成
2025-12-10 15:11:12 INFO: 应用启动
2025-12-10 15:11:12 INFO: 错误处理器初始化完成
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
2025-12-10 15:11:16 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
2025-12-10 15:11:16 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
2025-12-10 15:14:09 INFO: 用户 韦矍森 访问仪表盘页面
2025-12-10 15:15:06 INFO: 用户 韦矍森 开始同步离线设备
2025-12-10 15:15:06 INFO: 同步完成:创建了 8 个工单,恢复了 7 个设备
2025-12-10 15:15:19 INFO: 用户 韦矍森 访问统计页面
2025-12-10 15:15:20 INFO: 用户 韦矍森 访问历史记录页面
2025-12-10 15:15:21 INFO: 用户 韦矍森 访问仪表盘页面
2025-12-10 15:15:42 INFO: 用户 韦矍森(19977899008) 登出
2025-12-10 15:16:07 INFO: 重定向到 Casdoor 授权页面
2025-12-10 15:16:22 INFO: Casdoor 用户信息: {'sub': '798f4436-fbb6-45f4-bf0c-6e1cf4add605', 'iss': 'http://10.10.10.14:18000', 'aud': '8f323670e073612794ef', 'preferred_username': 'test', 'name': '韦矍森', 'email': 'voole@vip.qq.com', 'email_verified': True, 'picture': 'https://cdn.casbin.org/img/casbin.svg', 'phone': '19977899008'}
2025-12-10 15:16:22 INFO: 更新用户信息: 韦矍森(19977899008)
2025-12-10 15:16:22 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
2025-12-10 15:16:23 INFO: 用户 韦矍森 访问仪表盘页面
2025-12-10 15:16:43 INFO: 用户 韦矍森 访问历史记录页面
2025-12-10 15:16:44 INFO: 用户 韦矍森 访问统计页面
2025-12-10 15:17:08 INFO: 用户 韦矍森 访问历史记录页面
2025-12-10 15:17:12 INFO: 用户 韦矍森 访问仪表盘页面
2025-12-10 15:17:15 INFO: 用户 韦矍森 访问统计页面
2025-12-10 15:17:16 INFO: 用户 韦矍森 访问历史记录页面
2025-12-10 15:25:09 INFO: 应用启动
2025-12-10 15:25:09 INFO: 错误处理器初始化完成
2025-12-10 15:26:06 INFO: 应用启动
2025-12-10 15:26:06 INFO: 错误处理器初始化完成
2025-12-10 15:27:03 INFO: 应用启动
2025-12-10 15:27:03 INFO: 错误处理器初始化完成
2025-12-10 15:27:15 INFO: 应用启动
2025-12-10 15:27:15 INFO: 错误处理器初始化完成
2025-12-10 15:27:34 INFO: 应用启动
2025-12-10 15:27:34 INFO: 错误处理器初始化完成
2025-12-10 15:27:53 INFO: 应用启动
2025-12-10 15:27:53 INFO: 错误处理器初始化完成
2025-12-10 15:28:44 INFO: 用户 韦矍森 访问仪表盘页面
2025-12-10 15:28:54 INFO: 应用启动
2025-12-10 15:28:54 INFO: 错误处理器初始化完成
2025-12-10 15:28:54 INFO: 用户信息已更新: 农远灵(19978825450) -> branch=红水河支局, role=装维员
2025-12-10 15:29:14 INFO: 用户信息已更新: 农远灵(19978825450) -> branch=电厂支局, role=装维员
2025-12-10 15:30:20 INFO: 用户信息已更新: 韦矍森(19977899008) -> branch=交付中心, role=管理员
2025-12-10 15:30:22 INFO: 用户 韦矍森(19977899008) 登出
2025-12-10 15:30:32 INFO: 重定向到 Casdoor 授权页面
2025-12-10 15:30:32 INFO: Casdoor 用户信息: {'sub': '92501c0e-db14-4def-8ded-cb8337d8acdb', 'iss': 'http://10.10.10.14:18000', 'aud': '8f323670e073612794ef', 'preferred_username': 'admin', 'name': 'Admin', 'email': 'voole@vip.qq.com', 'email_verified': True, 'picture': 'https://cdn.casbin.org/img/casbin.svg', 'phone': '18878797071'}
2025-12-10 15:30:32 INFO: 创建新用户: Admin(18878797071)
2025-12-10 15:30:32 INFO: 用户 Admin(18878797071) 通过 Casdoor 登录成功
2025-12-10 15:30:32 INFO: 用户 Admin 访问仪表盘页面
2025-12-10 15:32:06 INFO: 应用启动
2025-12-10 15:32:06 INFO: 错误处理器初始化完成
2025-12-10 16:31:53 INFO: 应用启动
2025-12-10 16:31:53 INFO: 错误处理器初始化完成
2025-12-10 16:32:45 INFO: 应用启动
2025-12-10 16:32:45 INFO: 错误处理器初始化完成
2025-12-10 16:36:04 INFO: 重定向到 Casdoor 授权页面
2025-12-10 16:36:13 INFO: Casdoor 用户信息: {'sub': '798f4436-fbb6-45f4-bf0c-6e1cf4add605', 'iss': 'https://casdoor.dhdx.fun', 'aud': '8f323670e073612794ef', 'preferred_username': 'weijuesen', 'name': '韦矍森', 'email': 'voole@vip.qq.com', 'email_verified': True, 'picture': 'https://cdn.casbin.org/img/casbin.svg', 'phone': '19977899008', 'groups': ['dahua/yunzhongtai']}
2025-12-10 16:36:13 INFO: 更新用户信息: 韦矍森(19977899008)
2025-12-10 16:36:13 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
2025-12-10 16:36:13 INFO: 用户 韦矍森 访问仪表盘页面
2025-12-10 16:36:16 INFO: 用户 韦矍森(19977899008) 登出
2025-12-10 16:38:28 INFO: 重定向到 Casdoor 授权页面
2025-12-10 16:38:29 INFO: Casdoor 用户信息: {'sub': '798f4436-fbb6-45f4-bf0c-6e1cf4add605', 'iss': 'https://casdoor.dhdx.fun', 'aud': '8f323670e073612794ef', 'preferred_username': 'weijuesen', 'name': '韦矍森', 'email': 'voole@vip.qq.com', 'email_verified': True, 'picture': 'https://cdn.casbin.org/img/casbin.svg', 'phone': '19977899008', 'groups': ['dahua/yunzhongtai']}
2025-12-10 16:38:29 INFO: 更新用户信息: 韦矍森(19977899008)
2025-12-10 16:38:29 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
2025-12-10 16:38:29 INFO: 用户 韦矍森 访问仪表盘页面
2025-12-10 16:38:31 INFO: 用户 韦矍森(19977899008) 登出
2025-12-10 16:42:35 INFO: 重定向到 Casdoor 授权页面
2025-12-10 16:42:45 INFO: Casdoor 用户信息: {'sub': '798f4436-fbb6-45f4-bf0c-6e1cf4add605', 'iss': 'https://casdoor.dhdx.fun', 'aud': '8f323670e073612794ef', 'preferred_username': 'weijuesen', 'name': '韦矍森', 'email': 'voole@vip.qq.com', 'email_verified': True, 'picture': 'https://cdn.casbin.org/img/casbin.svg', 'phone': '19977899008', 'groups': ['dahua/yunzhongtai']}
2025-12-10 16:42:45 INFO: 更新用户信息: 韦矍森(19977899008)
2025-12-10 16:42:45 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
2025-12-10 16:42:45 INFO: 用户 韦矍森 访问仪表盘页面
2025-12-10 16:42:47 INFO: 用户 韦矍森(19977899008) 登出
2025-12-10 16:42:52 INFO: 重定向到 Casdoor 授权页面
2025-12-10 16:43:21 INFO: Casdoor 用户信息: {'sub': '798f4436-fbb6-45f4-bf0c-6e1cf4add605', 'iss': 'https://casdoor.dhdx.fun', 'aud': '8f323670e073612794ef', 'preferred_username': 'weijuesen', 'name': '韦矍森', 'email': 'voole@vip.qq.com', 'email_verified': True, 'picture': 'https://cdn.casbin.org/img/casbin.svg', 'phone': '19977899008', 'groups': ['dahua/yunzhongtai']}
2025-12-10 16:43:21 INFO: 更新用户信息: 韦矍森(19977899008)
2025-12-10 16:43:21 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
2025-12-10 16:43:21 INFO: 用户 韦矍森 访问仪表盘页面
2025-12-10 16:43:23 INFO: 用户 韦矍森(19977899008) 登出
2025-12-10 16:46:46 INFO: 应用启动
2025-12-10 16:46:46 INFO: 错误处理器初始化完成
2025-12-10 16:47:46 INFO: 应用启动
2025-12-10 16:47:46 INFO: 错误处理器初始化完成
2025-12-10 16:50:50 INFO: 重定向到 Casdoor 授权页面
2025-12-10 16:50:57 INFO: Casdoor 用户信息: {'sub': '798f4436-fbb6-45f4-bf0c-6e1cf4add605', 'iss': 'https://casdoor.dhdx.fun', 'aud': '8f323670e073612794ef', 'preferred_username': 'weijuesen', 'name': '韦矍森', 'email': 'voole@vip.qq.com', 'email_verified': True, 'picture': 'https://cdn.casbin.org/img/casbin.svg', 'phone': '19977899008', 'groups': ['dahua/yunzhongtai']}
2025-12-10 16:50:57 INFO: 更新用户信息: 韦矍森(19977899008)
2025-12-10 16:50:57 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
2025-12-10 16:50:57 INFO: 用户 韦矍森 访问仪表盘页面
2025-12-10 16:50:59 INFO: 用户 韦矍森(19977899008) 登出
2025-12-10 16:50:59 INFO: 重定向到 Casdoor 授权页面
2025-12-10 16:51:25 INFO: 重定向到 Casdoor 授权页面
+7 -1
View File
@@ -95,7 +95,13 @@
<div class="container mt-4">
{% if not request.endpoint == 'login' %}
{% with messages = get_flashed_messages() %}
{% with raw_messages = get_flashed_messages() %}
{% set messages = [] %}
{% for m in raw_messages %}
{% if not (current_user.is_authenticated and m == '请先登录以访问此页面') %}
{% set _ = messages.append(m) %}
{% endif %}
{% endfor %}
{% if messages %}
<div class="modal" id="flashModal" tabindex="-1" style="display: block; background: rgba(0,0,0,0.5);">
<div class="modal-dialog modal-dialog-centered" style="z-index: 1060;">
Binary file not shown.
+4 -4
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
@@ -99,6 +100,8 @@ 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'))
+109 -780
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
1693159
1759947