你的项目是什么使用token进行登录的,请问具体的登录流程是什么

用户首次登录

1、用户在客户端输入账号和密码,点击登录按钮,客户端将账号和密码发送到服务器端。
2、服务器端接收到请求后,对账号和密码进行验证。
3、如果验证通过,服务器生成 Token ,并将 Token 与当前线程进行关联。可以使用 ThreadLocal 来存储 Token ,
如 ThreadLocal tokenThreadLocal = new ThreadLocal<>(); ,然后 tokenThreadLocal.set(token); 。
服务器将 Token 返回给客户端。

后续访问

1、客户端在每次请求时,将 Token 放在请求头中发送到服务器端。
2、服务器端接收到请求后,从请求头中提取 Token 。
3、将提取的 Token 设置到当前线程的 ThreadLocal 中,即 tokenThreadLocal.set(tokenFromHeader); 。
4、在处理请求的业务逻辑中,可以随时从 ThreadLocal 中获取 Token 进行相关的验证和操作,如 String currentToken = tokenThreadLocal.get(); 。
5、请求处理完成后,需要清除 ThreadLocal 中的 Token ,以避免内存泄漏,即 tokenThreadLocal.remove(); 。

用户退出登录

客户端向服务器端发送退出登录请求。服务器端收到请求后,清除当前线程 ThreadLocal 中的 Token ,即 tokenThreadLocal.remove(); 。客户端同时删除本地存储的 Token 。

posted @ 2025-04-01 10:35  蒟蒻00  阅读(91)  评论(0)    收藏  举报