外观
用户认证与权限
提供完整的用户认证和权限管理能力,包括注册登录、Session/JWT 双认证、OAuth 第三方登录、RBAC 角色权限控制。
概述
用户认证与权限系统是套件的核心基础能力,所有需要用户体系的产品都可以直接复用。
核心能力
1. 用户认证
| 方式 | 说明 | 关键文件 |
|---|---|---|
| Session 认证 | express-session + MySQL 持久化 | middlewares/SessionMiddleware.mts |
| JWT 令牌 | jsonwebtoken 签发和验证 | utils/JWTUtils.mts |
| OAuth 登录 | 第三方平台 OAuth 授权 | routes/oauth.mts、services/wechat.mts |
2. 用户管理
- 注册/登录(邮箱+密码、手机号+验证码)
- 密码找回(邮件/短信验证码)
- 用户信息管理(用户名、邮箱、手机号)
- 最后登录 IP 和时间记录
3. 角色权限(RBAC)
系统内置 6 个角色:
| 角色 | key | 说明 |
|---|---|---|
| 超级管理员 | super_admin | 全部权限 |
| 管理员 | admin | 后台管理权限 |
| 贵宾会员 | svip | 高级会员 |
| 会员用户 | vip | 付费会员 |
| 普通用户 | normal | 已注册用户 |
| 游客 | guest | 未登录用户 |
4. 权限控制
- 路由级:前端
meta.requireAuth控制页面访问 - 接口级:后端中间件验证用户角色和权限
- 操作级:敏感操作(角色修改、状态修改)的二次校验
数据库设计
user(用户表)
核心字段:id、username、email、phone、password、role_id、status(active/inactive/locked)
role(角色表)
核心字段:id、key(角色标识)、name(角色名称)、status
相关文件
src/services/user.mts— 用户业务逻辑src/controllers/user.mts— 用户接口控制器src/middlewares/AuthMiddleware.mts— 认证中间件src/middlewares/SessionMiddleware.mts— Session 中间件src/models/User.mts— 用户模型src/models/Role.mts— 角色模型typings/user.d.ts— 用户类型定义