相关文章推荐
粗眉毛的八宝粥  ·  Selenium ...·  1 年前    · 
坚韧的竹笋  ·  python - ...·  1 年前    · 

若依官方: http://doc.ruoyi.vip/ruoyi-cloud/cloud/auth.html#%E4%BD%BF%E7%94%A8%E8%AE%A4%E8%AF%81

若依密码产生和验证过程: http://wangxianfeng.cn/wordpress/2021/09/21/%E8%8B%A5%E4%BE%9D%E5%AF%86%E7%A0%81%E4%BA%A7%E7%94%9F%E5%92%8C%E9%AA%8C%E8%AF%81%E8%BF%87%E7%A8%8B/

jwt 相关知识: https://blog.csdn.net/weixin_45070175/article/details/118559272

A ,注册用户时对 password 加密(不可逆),保存在数据库;

B ,用户使用 name password 登录,使用相同的参数对 password 加密后,和数据库的比较,不相同则密码错误;

C ,后台生成 token 返回给前台,前台保存 token 在登录人的电脑中;

D ,登录人调用后台接口,前端开发人员把本地的 token 放到请求头中;请求先走到网关,网关获取 token 并验签解析 token ,成功则说明认证成功,允许你继续访问后台资源了;

一、密码校验

1,注册用户,加密明文密码

三、 校验 token

1, 前台如何传递 token

前台需要和后台商量好传递 token 的方式,比如若依这个项目,前端把 token 放在请求头里传递给我后台,请求头的 key Authorization value 在前面还拼上了 Bearer

2, 后台校验 token

所有的前台请求都会先走到网关( gate-way ),这样 token 的认证校验就统一交给网关处理,校验通过后再分发给对应的服务;

3, 解析 token jwt

像我们平常瞎写 token ,基本是无法验签的;因为 jwt 应该包含了 signature 字段,后台使用证书解签的时候得到的 signature 和传来的 signature 肯定是不一样的;

后台给了前台 token ,前台拿着这个 token 就可以访问后台,并且可以识别是谁在访问,通过曲线救国的方式让无状态的 http 请求变成了有状态的;

token 可以在多个服务间共享,省的每个服务都要去连数据库查询用户名密码是否正确;