2023-06-30 11:37

前后端分离下的登录流程(没使用shiro)

王姐姐

JavaEE

(306)

(0)

收藏

当使用 JWT(JSON Web Token)和 Redis 进行前后端分离的登录流程时,可以按照以下步骤进行:

1. 前端发送登录请求:前端通过用户名和密码等凭证向后端发送登录请求。

2. 后端验证用户信息:后端接收到登录请求后,从数据库中验证用户名和密码是否正确。若验证通过,则生成一个 JWT。

3. 生成 JWT:后端使用用户信息生成一个 JWT,包含用户的身份信息、过期时间等,并签名。可以使用常用的 JWT 库(如 jsonwebtoken)来生成和验证 JWT。

4. 发送 JWT 到前端:后端将生成的 JWT 发送给前端,通常通过响应的头部(如 Authorization)或者在响应的 body 中返回。

5. 前端保存 JWT:前端收到 JWT 后,应该将其保存在前端存储中,比如 localStorage、SessionStorage 或者通过 Cookie 等方式。

6. 发送带 JWT 的请求:前端在发送后续请求时,需要将 JWT 通过请求头部(如 Authorization)的形式附加在请求中。

7. 后端验证 JWT:后端收到请求后,从请求头部获取 JWT,并进行验证。验证包括 JWT 的合法性(签名验证)、过期时间检查等。

8. 验证成功:若 JWT 验证成功,后端可以从 Redis 中获取该用户的信息,并进行后续处理。在 Redis 中存储用户信息可以实现快速访问和减轻数据库压力。

9. 验证失败:若 JWT 验证失败,后端返回相应的错误信息,前端可以根据具体的错误类型进行相应的处理。

总结来说,前后端分离使用 JWT 和 Redis 的登录流程主要包括了用户验证、JWT 的生成和验证、JWT 的传递、前端的保存和请求的附加等步骤。通过使用 JWT 和 Redis,可以实现无状态的、高效的登录验证机制。

0条评论

点击登录参与评论