主题
用户角色与权限
Mall 电商系统涉及两类用户,每类用户有不同的角色和权限层级。
一、前台用户(消费者)
游客(未登录)
| 可以做的 | 不能做的 |
|---|---|
| 浏览首页、搜索商品 | 加入购物车 |
| 查看商品详情和评价 | 下单购买 |
| 查看推荐和专题内容 | 收藏商品 |
| 注册 / 登录 | 查看订单、管理地址 |
会员(已登录)
登录后拥有完整的前台功能权限:
| 功能 | 说明 |
|---|---|
| 购物 | 加购物车、下单、支付、查看订单 |
| 售后 | 申请退货退款、查看退货进度 |
| 个人信息 | 修改昵称/头像、管理收货地址(最多 10 个) |
| 会员体系 | 查看等级、积分、成长值 |
| 互动 | 收藏商品、查看浏览历史、发表评价 |
| 优惠券 | 领取和使用优惠券 |
会员等级体系
| 等级 | 成长值要求 | 权益 |
|---|---|---|
| 普通会员 | 0 | 基础购物功能 |
| 更高等级 | 按配置阈值 | 具体权益待扩展 |
成长值通过下单获得,系统自动根据成长值匹配对应等级(自动升降级)。
二、后台用户(运营团队)
后台采用 RBAC(基于角色的权限控制) 模型,权限通过三层结构管理:
管理员 → 关联角色 → 角色拥有菜单权限 + 资源权限权限模型说明
| 概念 | 说明 | 举例 |
|---|---|---|
| 管理员 | 后台登录用户 | admin(超级管理员)、operator(运营人员) |
| 角色 | 一组权限的集合 | 商品管理员、订单管理员、超级管理员 |
| 菜单 | 控制侧边栏能看到哪些页面 | "商品管理"菜单、"订单管理"菜单 |
| 资源 | 控制页面内的按钮/操作 | "添加商品"按钮、"发货"按钮 |
权限分配流程
1. 创建菜单(定义有哪些页面)
2. 创建资源(定义页面里有哪些操作)
3. 创建角色(把菜单和资源分配给角色)
4. 创建管理员(给管理员分配角色)预置角色
| 角色 | 权限范围 | 典型使用者 |
|---|---|---|
| 超级管理员 | 全部菜单 + 全部资源 | 系统管理员 |
| 商品管理员 | 商品管理相关菜单和资源 | 商品运营 |
| 订单管理员 | 订单管理相关菜单和资源 | 订单运营 |
安全机制
| 机制 | 说明 |
|---|---|
| JWT Token | 登录后发放 Token,有效期 7 天 |
| 图形验证码 | 登录时需输入验证码(5 分钟有效) |
| 账号锁定 | 连续 5 次登录失败,锁定 30 分钟 |
| 动态权限 | 每次请求校验当前用户是否有对应资源权限 |
权限关系图
┌──────────┐ ┌──────────┐ ┌──────────┐
│ 管理员 │────→│ 角色 │────→│ 菜单 │
│ (Admin) │ │ (Role) │ │ (Menu) │
└──────────┘ └──────────┘ └──────────┘
│
↓
┌──────────┐
│ 资源 │
│(Resource)│
└──────────┘一个管理员可以有多个角色,一个角色可以包含多个菜单和资源权限。