跳转至

超级管理员专用登录说明

功能概述

为了增强系统安全性,超级管理员现在使用独立的登录入口和专属控制台,与普通管理员完全分离。

登录地址

超级管理员登录

  • 登录入口: /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()
{
    // 仅超级管理员可访问
}

使用流程

超级管理员登录流程

  1. 访问 /SuperAdmin/Login - 超级管理员专用登录页面
  2. 输入超级管理员手机号和密码
  3. 系统验证身份和角色(必须为 super_admin
  4. 登录成功后自动跳转到 /SuperAdmin/Dashboard - 超级管理员专属控制台
  5. 在控制台中可以访问所有超管功能

普通管理员登录流程

  1. 访问 /Account/Login - 普通用户登录页面
  2. 输入手机号和密码(或验证码)
  3. 登录成功后跳转到 /Home/Index - 标准控制台
  4. 如果是超级管理员账号,系统会拒绝登录并显示"账号或密码错误"(安全隐藏)

技术实现

控制器

  • 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 - 普通登录页面

安全建议

  1. 不公开超级管理员登录链接:
  2. 超级管理员登录地址不应在公开页面显示
  3. 系统不会在普通登录页面提示超级管理员入口
  4. 超级管理员需直接记住并访问专用登录地址

  5. 强密码策略: 超级管理员账号应使用强密码

  6. 定期更换密码: 建议定期更换超级管理员密码

  7. 监控登录日志: 定期查看操作日志中的登录记录

  8. 入口隐蔽性:

  9. 从普通入口尝试用超级管理员账号登录会显示通用错误
  10. 不会暴露超级管理员入口的存在

常见问题

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: 初始实现超级管理员专用登录功能

  • 创建独立登录控制器和视图
  • 添加权限验证过滤器
  • 更新普通登录页面,拒绝超级管理员从普通入口登录