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_MEMORY_REPORT=true
|
||||||
UWSGI_ENABLE_THREADS=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_ID=8f323670e073612794ef
|
||||||
CASDOOR_CLIENT_SECRET=bc37d89f9220fe5a46c17125c731d2daf22f1299
|
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_ORGANIZATION_NAME=built-in
|
||||||
CASDOOR_APPLICATION_NAME=4an
|
CASDOOR_APPLICATION_NAME=4an
|
||||||
Binary file not shown.
Binary file not shown.
@@ -58,6 +58,8 @@ def create_app():
|
|||||||
login_manager = LoginManager()
|
login_manager = LoginManager()
|
||||||
login_manager.init_app(app)
|
login_manager.init_app(app)
|
||||||
login_manager.login_view = 'login'
|
login_manager.login_view = 'login'
|
||||||
|
# 默认未登录提示改为中文
|
||||||
|
login_manager.login_message = '请先登录以访问此页面'
|
||||||
|
|
||||||
@login_manager.user_loader
|
@login_manager.user_loader
|
||||||
def load_user(user_id):
|
def load_user(user_id):
|
||||||
|
|||||||
@@ -31,3 +31,7 @@ class Config:
|
|||||||
CASDOOR_ORGANIZATION_NAME = os.environ.get('CASDOOR_ORGANIZATION_NAME', 'built-in')
|
CASDOOR_ORGANIZATION_NAME = os.environ.get('CASDOOR_ORGANIZATION_NAME', 'built-in')
|
||||||
CASDOOR_APPLICATION_NAME = os.environ.get('CASDOOR_APPLICATION_NAME', 'app-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')
|
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 16:31:53 INFO: 应用启动
|
||||||
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 16:31:53 INFO: 错误处理器初始化完成
|
||||||
2025-12-10 15:06:39 INFO: 更新用户信息: 韦矍森(19977899008)
|
2025-12-10 16:32:45 INFO: 应用启动
|
||||||
2025-12-10 15:06:39 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
|
2025-12-10 16:32:45 INFO: 错误处理器初始化完成
|
||||||
2025-12-10 15:06:39 INFO: 用户 韦矍森 访问仪表盘页面
|
2025-12-10 16:36:04 INFO: 重定向到 Casdoor 授权页面
|
||||||
2025-12-10 15:06:49 INFO: 用户 韦矍森 访问统计页面
|
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 15:06:50 INFO: 用户 韦矍森 访问历史记录页面
|
2025-12-10 16:36:13 INFO: 更新用户信息: 韦矍森(19977899008)
|
||||||
2025-12-10 15:06:51 INFO: 用户 韦矍森 访问统计页面
|
2025-12-10 16:36:13 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
|
||||||
2025-12-10 15:06:54 INFO: 用户 韦矍森 访问仪表盘页面
|
2025-12-10 16:36:13 INFO: 用户 韦矍森 访问仪表盘页面
|
||||||
2025-12-10 15:09:46 INFO: 应用启动
|
2025-12-10 16:36:16 INFO: 用户 韦矍森(19977899008) 登出
|
||||||
2025-12-10 15:09:46 INFO: 错误处理器初始化完成
|
2025-12-10 16:38:28 INFO: 重定向到 Casdoor 授权页面
|
||||||
2025-12-10 15:11:12 INFO: 应用启动
|
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 15:11:12 INFO: 错误处理器初始化完成
|
2025-12-10 16:38:29 INFO: 更新用户信息: 韦矍森(19977899008)
|
||||||
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
|
2025-12-10 16:38:29 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
|
||||||
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
|
2025-12-10 16:38:29 INFO: 用户 韦矍森 访问仪表盘页面
|
||||||
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
|
2025-12-10 16:38:31 INFO: 用户 韦矍森(19977899008) 登出
|
||||||
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
|
2025-12-10 16:42:35 INFO: 重定向到 Casdoor 授权页面
|
||||||
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
|
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 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
|
2025-12-10 16:42:45 INFO: 更新用户信息: 韦矍森(19977899008)
|
||||||
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
|
2025-12-10 16:42:45 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
|
||||||
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
|
2025-12-10 16:42:45 INFO: 用户 韦矍森 访问仪表盘页面
|
||||||
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
|
2025-12-10 16:42:47 INFO: 用户 韦矍森(19977899008) 登出
|
||||||
2025-12-10 15:11:12 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
|
2025-12-10 16:42:52 INFO: 重定向到 Casdoor 授权页面
|
||||||
2025-12-10 15:11:16 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
|
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 15:11:16 WARNING: 未授权访问:用户 New User - usp76h 尝试访问仪表盘页面
|
2025-12-10 16:43:21 INFO: 更新用户信息: 韦矍森(19977899008)
|
||||||
2025-12-10 15:14:09 INFO: 用户 韦矍森 访问仪表盘页面
|
2025-12-10 16:43:21 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
|
||||||
2025-12-10 15:15:06 INFO: 用户 韦矍森 开始同步离线设备
|
2025-12-10 16:43:21 INFO: 用户 韦矍森 访问仪表盘页面
|
||||||
2025-12-10 15:15:06 INFO: 同步完成:创建了 8 个工单,恢复了 7 个设备
|
2025-12-10 16:43:23 INFO: 用户 韦矍森(19977899008) 登出
|
||||||
2025-12-10 15:15:19 INFO: 用户 韦矍森 访问统计页面
|
2025-12-10 16:46:46 INFO: 应用启动
|
||||||
2025-12-10 15:15:20 INFO: 用户 韦矍森 访问历史记录页面
|
2025-12-10 16:46:46 INFO: 错误处理器初始化完成
|
||||||
2025-12-10 15:15:21 INFO: 用户 韦矍森 访问仪表盘页面
|
2025-12-10 16:47:46 INFO: 应用启动
|
||||||
2025-12-10 15:15:42 INFO: 用户 韦矍森(19977899008) 登出
|
2025-12-10 16:47:46 INFO: 错误处理器初始化完成
|
||||||
2025-12-10 15:16:07 INFO: 重定向到 Casdoor 授权页面
|
2025-12-10 16:50:50 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 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 15:16:22 INFO: 更新用户信息: 韦矍森(19977899008)
|
2025-12-10 16:50:57 INFO: 更新用户信息: 韦矍森(19977899008)
|
||||||
2025-12-10 15:16:22 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
|
2025-12-10 16:50:57 INFO: 用户 韦矍森(19977899008) 通过 Casdoor 登录成功
|
||||||
2025-12-10 15:16:23 INFO: 用户 韦矍森 访问仪表盘页面
|
2025-12-10 16:50:57 INFO: 用户 韦矍森 访问仪表盘页面
|
||||||
2025-12-10 15:16:43 INFO: 用户 韦矍森 访问历史记录页面
|
2025-12-10 16:50:59 INFO: 用户 韦矍森(19977899008) 登出
|
||||||
2025-12-10 15:16:44 INFO: 用户 韦矍森 访问统计页面
|
2025-12-10 16:50:59 INFO: 重定向到 Casdoor 授权页面
|
||||||
2025-12-10 15:17:08 INFO: 用户 韦矍森 访问历史记录页面
|
2025-12-10 16:51:25 INFO: 重定向到 Casdoor 授权页面
|
||||||
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: 错误处理器初始化完成
|
|
||||||
|
|||||||
@@ -95,7 +95,13 @@
|
|||||||
|
|
||||||
<div class="container mt-4">
|
<div class="container mt-4">
|
||||||
{% if not request.endpoint == 'login' %}
|
{% 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 %}
|
{% if messages %}
|
||||||
<div class="modal" id="flashModal" tabindex="-1" style="display: block; background: rgba(0,0,0,0.5);">
|
<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;">
|
<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
|
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 flask_login import login_user, login_required, logout_user, current_user
|
||||||
from scripts.models import db, User
|
from scripts.models import db, User
|
||||||
from utils.casdoor_auth import casdoor_auth
|
from utils.casdoor_auth import casdoor_auth
|
||||||
@@ -99,6 +100,8 @@ def init_auth_routes(app):
|
|||||||
login_user(user)
|
login_user(user)
|
||||||
app.logger.info(f'用户 {user.name}({user.phone}) 通过 Casdoor 登录成功')
|
app.logger.info(f'用户 {user.name}({user.phone}) 通过 Casdoor 登录成功')
|
||||||
|
|
||||||
|
# 清除可能残留的未登录提示
|
||||||
|
session.pop('_flashes', None)
|
||||||
return redirect(url_for('dashboard'))
|
return redirect(url_for('dashboard'))
|
||||||
|
|
||||||
@app.route('/logout')
|
@app.route('/logout')
|
||||||
@@ -106,8 +109,5 @@ def init_auth_routes(app):
|
|||||||
def logout():
|
def logout():
|
||||||
app.logger.info(f'用户 {current_user.name}({current_user.phone}) 登出')
|
app.logger.info(f'用户 {current_user.name}({current_user.phone}) 登出')
|
||||||
logout_user()
|
logout_user()
|
||||||
# 如果配置了 Casdoor,可以重定向到 Casdoor 登出页面
|
# 仅退出本地会话,保留 Casdoor 登录态
|
||||||
if app.config.get('CASDOOR_ENDPOINT'):
|
|
||||||
logout_url = f"{app.config.get('CASDOOR_ENDPOINT')}/logout"
|
|
||||||
return redirect(logout_url)
|
|
||||||
return redirect(url_for('login'))
|
return redirect(url_for('login'))
|
||||||
Reference in New Issue
Block a user