一、用户系统

目录

1、数据表设计

2、用户认证

3、用户的信息管理


1、数据表设计

一般设计用户表会设计很多字段,虽然有些不会用到,但还是要设计进去

(1)基础认证字段

|----------|----------|-------|-------|--------|-------|----------|---|
| username | password | email | phone | avatar | roles | isActive | |
| 用户名 | 密码 | 邮件 | 电话 | 头像 | 角色 | 账号激活 | |

(2)用户个人信息

|----------|--------|------------|--------|-----------|
| realName | gender | isVerified | idCard | birthDate |
| 真实姓名 | 性别 | 是否实名认证 | 身份证号 | 出生年月日 |

(3)vip相关

|-------|---------------|
| isVip | vipExpireTime |
| 是否会员 | 会员过期时间 |

(4)配额相关(业务部分)

假如是个做ppt的,那就会有:虚拟币余额,免费剩余次数等

(5)用户行为追踪

|---------------|-------------------|
| lastLoginTime | lastLoginLocation |
| 最近登录时间 | 最近登录地点 |

(6)微信相关

|----------|-----------|------------|----------------|--------------|---------------|-----------------|
| wechatid | openid | unionid | wechatNickname | wechatAvatar | isWechatBound | wechatBoundTime |
| 最初微信标识 | 唯一标识(小程序) | 唯一标识(开放平台) | 微信昵称 | 微信头像 | 是否绑定微信 | 微信绑定时间 |

2、用户认证

(1)JWT

1.用户输入账号密码post请求,

2.后端根据账号密码查数据库将用户基本信息拿出(没有密码)

3.后端根据基本信息+jwt密钥+jwt算法生成带签token,就是类似: token类型.基本信息.验签字符串 这样的一长串字符串

4.前端post的结果会得到这个token存到本地,后续功能必须携带

5.前端下次请求携带token

6.后端处理请求前先处理这个token,用第一次同样的方式,token上的基本信息+后端jwt密钥+jwt算法,看生出来的验签字符和第一次一样不,不一样说明被改过,防止黑客将自己的普通账号改成管理员。然后后续的请求就是正常请求了,就用用户基本的信息查询数据

总结:就是之前的是用密码,来一次验证一次密码

JWT就是只验证一次密码,但是会用规则生成一个token后续就是验证token

缺点就是可能黑客会截取你本地存到token,然后用你的身份发请求,但是它好在不会修改用户身份,而且现在用https,一般也不好获取本地token

3、用户的信息管理

就是用户的个人信息的修改啊,获取,删除啥的

还有用户在该系统上的业务功能的数据,比如假如是做ppt的,那就有你用于业务的虚拟币啊,使用次数啊啥的

具体的做ppt的功能是能外一个模块,但是数据是个人数据

相关推荐
星轨zb9 分钟前
[专题5]支付发放物品的一致性保障:事务、幂等与状态流转
数据库·后端·mongodb·支付架构学习
JaguarJack9 分钟前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
后端·php·服务端
vipxieliang21 分钟前
Go 泛型结构体与约束进阶:从自定义约束到标准库泛型 API 实战
后端·go
isfox22 分钟前
Python 文件操作:读写文件这件事,记住 with open 就够了
后端
武子康32 分钟前
虚拟线程不是无限并发:Java Agent 后端真正该限制的是这些资源
人工智能·后端·agent
未秃头的程序猿36 分钟前
Spring Cloud Gateway 做统一加解密,我在请求体上栽了三天
java·后端·架构
Rain的Java大神之路36 分钟前
别再上来就堆 Redis!点赞系统从打挂数据库到 18w 写峰值,我把这套方案讲透了
java·后端·面试
SimonKing40 分钟前
开源文档解析天花板 MinerU 4.0:PDF / 图片 / Office 等任意文档都支持
java·后端·程序员
咖啡八杯1 小时前
Spring MessageSource 国际化消息解析流程
java·后端·spring·架构·框架·若依