超级管理员专用登录说明¶
功能概述¶
为了增强系统安全性,超级管理员现在使用独立的登录入口和专属控制台,与普通管理员完全分离。
登录地址¶
超级管理员登录¶
- 登录入口:
/SuperAdmin/Login - 控制台:
/SuperAdmin/Dashboard - 完整地址:
https://bingzu.top/SuperAdmin/Login - 本地开发:
https://localhost:7120/SuperAdmin/Login
普通用户登录¶
- 登录入口:
/Account/Login - 控制台:
/Home/Index - 完整地址:
https://bingzu.top/Account/Login
功能特性¶
1. 独立登录入口与控制台¶
- 超级管理员: 专用登录页面 + 专属控制台(紫金主题)
- 普通管理员: 常规登录页面 + 标准控制台
- 两个系统完全独立,互不干扰
2. 超级管理员专属控制台¶
登录成功后进入 /SuperAdmin/Dashboard,提供以下功能:
核心管理功能: - 🏢 交付机构审核 - 审核和管理交付机构管理员账号 - 🎁 会员管理 - 为管理员代购和管理会员套餐 - 📋 操作日志 - 查看系统所有操作记录和审计日志 - 📢 公告管理 - 发布和管理系统公告通知
数据与统计: - 📊 访问统计 - 查看系统访问量和用户统计数据 - 🔍 数据查询 - 查询历史工资记录和陪练数据
个人与设置: - ⚙️ 个人中心 - 查看和修改个人账号信息 - 🔧 系统设置 - 配置系统参数和高级选项(开发中)
快速访问链接: - 待审核管理员 - 最新操作记录 - 发布新公告 - 修改密码
3. 身份验证机制¶
- 超级管理员专用入口: 仅接受
角色 = "super_admin"的账号登录 - 普通登录入口: 拒绝超级管理员账号登录,返回通用错误信息(不暴露超级管理员入口)
- 登录后跳转: 超级管理员自动跳转到专属控制台
4. 安全保护¶
- 账户锁定机制:连续5次登录失败后锁定15分钟
- 登录尝试计数提示
- 专用的安全提示界面
- 操作日志记录所有超级管理员操作
5. 权限过滤器¶
使用 [SuperAdminOnly] 特性标记需要超级管理员权限的功能:
C#
[SuperAdminOnly]
public IActionResult SensitiveFunction()
{
// 仅超级管理员可访问
}
使用流程¶
超级管理员登录流程¶
- 访问
/SuperAdmin/Login- 超级管理员专用登录页面 - 输入超级管理员手机号和密码
- 系统验证身份和角色(必须为
super_admin) - 登录成功后自动跳转到
/SuperAdmin/Dashboard- 超级管理员专属控制台 - 在控制台中可以访问所有超管功能
普通管理员登录流程¶
- 访问
/Account/Login- 普通用户登录页面 - 输入手机号和密码(或验证码)
- 登录成功后跳转到
/Home/Index- 标准控制台 - 如果是超级管理员账号,系统会拒绝登录并显示"账号或密码错误"(安全隐藏)
技术实现¶
控制器¶
SuperAdminController.cs- 超级管理员专用控制器Login()GET/POST - 超级管理员登录Dashboard()GET - 超级管理员专属控制台AccountController.cs- 普通用户登录控制器(增强了超级管理员检测)
过滤器¶
SuperAdminAuthorizationFilter.cs- 超级管理员权限验证过滤器SuperAdminOnlyAttribute- 便捷的特性标记
视图¶
Views/SuperAdmin/Login.cshtml- 超级管理员专用登录页面(紫金渐变主题)Views/SuperAdmin/Dashboard.cshtml- 超级管理员专属控制台(4列网格布局)Views/Home/Index.cshtml- 普通管理员控制台(3列网格布局)Views/Account/Login.cshtml- 普通登录页面
安全建议¶
- 不公开超级管理员登录链接:
- 超级管理员登录地址不应在公开页面显示
- 系统不会在普通登录页面提示超级管理员入口
-
超级管理员需直接记住并访问专用登录地址
-
强密码策略: 超级管理员账号应使用强密码
-
定期更换密码: 建议定期更换超级管理员密码
-
监控登录日志: 定期查看操作日志中的登录记录
-
入口隐蔽性:
- 从普通入口尝试用超级管理员账号登录会显示通用错误
- 不会暴露超级管理员入口的存在
常见问题¶
Q: 忘记超级管理员密码怎么办?¶
A: 目前可以通过云数据库直接重置。建议后续开发专用的密码重置流程。
Q: 如何添加新的超级管理员?¶
A: 在云数据库 admins 集合中将用户的 角色 字段设置为 super_admin。
Q: 普通管理员能否升级为超级管理员?¶
A: 可以,在云数据库中修改对应用户的角色字段即可。
Q: 超级管理员登录失败怎么办?¶
A: 检查以下几点:
1. 确认账号角色确实是 super_admin
2. 确认使用的是超级管理员专用登录入口
3. 检查密码是否正确
4. 查看是否被锁定(15分钟后自动解锁)
UI/UX 设计¶
超级管理员控制台特色¶
- 主题配色: 紫金渐变(#667eea → #764ba2),象征权威和高级
- 金色徽章: ⭐ 超级管理员身份标识,金黄色突出显示
- 卡片布局: 4列网格(响应式:1400px以下3列,1024px以下2列,768px以下1列)
- 功能分类:
- 核心管理(橙/粉色)
- 数据统计(蓝/紫色)
- 个人设置(靛/金色)
- 动画效果: 淡入、上浮、悬停放大等流畅动画
- 快速链接: 底部提供常用操作快捷入口
普通管理员控制台¶
- 主题配色: 标准渐变,与超管明显区分
- 卡片布局: 3列网格布局
- 功能区分: 根据角色(admin/guest)显示不同功能
更新日志¶
- 2026-01-01 v1.2: 超级管理员专属控制台
- 创建独立的超级管理员控制台页面
/SuperAdmin/Dashboard - 超级管理员登录后自动跳转到专属控制台
- 设计紫金主题UI,突出超管身份
- 4列网格布局展示8大核心功能
- 添加快速访问链接区域
-
完全分离超管和普管的使用界面
-
2026-01-01 v1.1: 增强安全性
- 移除普通登录页面的超级管理员入口提示
- 超级管理员从普通入口登录时显示通用错误信息
-
提高超级管理员入口的隐蔽性
-
2026-01-01 v1.0: 初始实现超级管理员专用登录功能
- 创建独立登录控制器和视图
- 添加权限验证过滤器
- 更新普通登录页面,拒绝超级管理员从普通入口登录