当前位置: 首页 > news >正文

01.高安全用户表的设计

第一模块:身份认证(Account & Auth)

这组表解决:你是谁?你怎么登录?你的账号现在安全吗?

  1. sys_users (用户主表)
    作用:账号的“户口本”,只存最核心的状态。

    核心字段:user_id, status (1:正常, 2:禁用, 3:锁定), locked_until (锁定到期时间), created_at。

    怎么用:登录时先查这张表,看账号有没有被封禁或者因为密码错太多被临时锁定。

  2. sys_user_auths (认证凭证表)
    作用:存放登录凭证。

    核心字段:user_id, identity_type (password/wechat/phone), identifier (账号名/OpenID), credential (加密后的密码)。

    怎么用:高安全的关键点! 一个用户可以对应多行记录。你可以通过手机号+密码登录,也可以绑定微信。校验密码时只查这张表。

  3. sys_user_profiles (用户资料表)
    作用:存放不敏感的展示信息。

    核心字段:user_id, nickname, avatar, gender, email。

    怎么用:业务系统(如显示订单详情)需要显示用户名字和头像时,只关联这张表,不接触密码和账号状态。

第二模块:权限控制(RBAC - 访问控制)

这组表解决:你能做什么?你有哪些菜单、按钮、API的访问权?

  1. sys_roles (角色表)
    作用:职位的集合。

    核心字段:role_id, role_name (如:超级管理员、财务总监、普通会员), role_key (唯一标识符)。

    怎么用:定义系统里有哪些等级的人。

  2. sys_permissions (权限资源表)
    作用:系统里所有“细粒度”的操作。

    核心字段:perm_id, name (新增用户), perm_code (sys:user:add), url (API路径), component (前端组件路径)。

    怎么用:这是权限的最小单位。前端根据它决定显不显示按钮,后端拦截器根据它决定允不允许访问接口。

  3. sys_user_roles (用户-角色关联表)
    作用:给用户发“工牌”。

    核心字段:user_id, role_id。

    怎么用:多对多关系。一个员工可以是“技术员”,同时也是“部门负责人”。

  4. sys_role_permissions (角色-权限关联表)
    作用:定义每个职位能干什么。

    核心字段:role_id, perm_id。

    怎么用:维护成本最低。修改“财务”角色的权限,所有财务人员的权限立即同步更新。

第三模块:安全风控(Security & Audit)

这组表解决:谁在什么时候操作了什么?环境安全吗?

  1. sys_user_login_logs (登录日志表)
    作用:追踪登录轨迹。

    核心字段:user_id, login_ip, login_location (地理位置), device_info (浏览器/设备指纹), status (成功/失败), message (原因)。

    怎么用:高安全用途。如果用户今天在北京登录,半小时后在上海登录,系统可以触发报警或强制要求二次验证(MFA)。

  2. sys_security_audit_logs (操作审计表)
    作用:高危行为记录。

    核心字段:user_id, action (删除订单/导出数据), target_id (操作了哪个数据), params (操作时的原始请求参数), created_at。

    怎么用:万一数据被删或泄露,这是追责的唯一证据。它记录了“谁”在“什么时候”把“什么数据”改成了“什么样”。

http://www.jsqmd.com/news/155924/

相关文章:

  • Anaconda Prompt常用命令速查表(PyTorch专用)
  • Git cherry-pick应用场景:将特定修复引入旧版本
  • 别等真正近视才干预:7岁男孩的“视力存款”保卫战
  • SSH连接保持活跃:防止PyTorch长时间任务断开
  • SQLite 日期 时间
  • Unix和Linux简史及标准化
  • 2025年度技术之旅:在AI浪潮下的个人突破、持续创作与平衡之道
  • HarmonyOS 应用启动太慢?一套实战方案把首屏时间压下来
  • GitHub Actions自动化测试PyTorch项目,集成CUDA环境
  • AI开发者福音:预装PyTorch和CUDA的Docker镜像免费提供
  • 操碎心的家长啥偏方都试了,挡不住孩子视力下降
  • LeetCode 459 - 重复的子字符串
  • Ruby 语法概览
  • 即插即用系列 | CVPR 2025 FDConv:频域动态卷积,打破密集预测任务的参数效率瓶颈
  • Markdown甘特图规划PyTorch项目开发进度
  • 雪中小山村
  • 【毕业设计】基于springboot的大学生英语学习平台(源码+文档+远程调试,全bao定制等)
  • C++ 基本的输入输出
  • 身份威胁检测与响应(上)
  • 服务定位器模式
  • SSH免密码登录配置:提升PyTorch镜像操作效率
  • Jupyter Notebook版本控制实践:配合Git管理代码
  • SOAP Header 元素
  • 【毕业设计】基于springboot的宾馆客房管理系统客房管理 房型配置: 标准间、套房等类型的名称、价格、床型(源码+文档+远程调试,全bao定制等)
  • LC.855 | 考场就座 | 有序集合 | set的应用
  • PyTorch混合精度训练AMP实战:节省显存提升速度
  • 082300141 吴昕昀团队工作汇报
  • 大宋历史传
  • XLink 总结
  • LC.2353 | 设计食物评分系统 | 有序集合 | 负分数排序实现“最高分优先 + 字典序优先”