修复用户和管理员session冲突问题

问题:在同一浏览器先登录用户再登录管理员时,用户会掉线
原因:管理员登录时使用session.clear()清除了整个session
修复:改为只清除管理员相关的session键,保留用户登录状态

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-11 20:41:53 +08:00
parent f326499a6a
commit f1cd5176de

6
app.py
View File

@@ -976,8 +976,10 @@ def admin_login():
admin = database.verify_admin(username, password)
if admin:
# 清除旧session确保干净的状态
session.clear()
# 安全修复: 只清除管理员相关的session保留用户登录状态
# 这样用户和管理员可以在同一浏览器中共存
session.pop('admin_id', None)
session.pop('admin_username', None)
# 设置管理员session
session['admin_id'] = admin['id']
session['admin_username'] = admin['username']