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:
@@ -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.
@@ -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):
|
||||
|
||||
@@ -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
@@ -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 授权页面
|
||||
|
||||
@@ -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
@@ -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'))
|
||||
Reference in New Issue
Block a user