后端token校验流程

获取用户信息

前端中只有 await userStore.getInfo() 表示从后端获取数据

在页面中找到info对应的url地址,在IDEA中查找

这里是getInfo函数的声明,我们要找到这个函数的使用,所以点getInfo()

java 复制代码
@Override
public JSONObject getInfo() {
    JSONObject result = new JSONObject(); // 创建一个空的 JSONObject,用于存储返回结果
    LambdaQueryWrapper<User> wrapper = Wrappers.lambdaQuery(); // 创建 LambdaQueryWrapper 对象,用于构建查询条件
    wrapper.eq(User::getId, BaseContextHandler.getUserId()); // 设置查询条件:id 等于当前用户的 id
    User dbUser = baseMapper.selectOne(wrapper); // 执行查询,获取用户信息
    if (null != dbUser) { // 如果查询结果不为空
        JSONObject data = new JSONObject(); // 创建一个新的 JSONObject,用于存储用户数据
        data.put("roles", Collections.singletonList(dbUser.getRoles())); // 将用户角色放入 data 中
        data.put("account", dbUser.getAccount()); // 将用户账号放入 data 中
        result.put("data", data); // 将 data 放入返回结果中
        result.put("status", 200); // 设置状态码为 200(表示成功)
        return result; // 返回结果
    }
    result.put("status", 500); // 如果查询结果为空,设置状态码为 500(表示失败)
    return result; // 返回结果
}

其中data.put("roles", Collections.singletonList(dbUser.getRoles()));data.put("account", dbUser.getAccount());表示获取用户账号和角色信息

token

当我们在登录时,在preview中可以看到数据中有token和userId,那么同理可以找到 login 函数

当我们访问时会被拦截

将提示信息进行全局搜索,此处AUTH_FAIL是一个自定义的用来表示错误信息的常量,全局搜索这个常量,就可以找到进行校验Token的地方

相关推荐
014-code3 小时前
订单超时取消与库存回滚的完整实现(延迟任务 + 状态机)
java·开发语言
java1234_小锋4 小时前
Java高频面试题:Springboot的自动配置原理?
java·spring boot·面试
末央&5 小时前
【天机论坛】项目环境搭建和数据库设计
java·数据库
枫叶落雨2225 小时前
ShardingSphere 介绍
java
花花鱼5 小时前
Spring Security 与 Spring MVC
java·spring·mvc
言慢行善6 小时前
sqlserver模糊查询问题
java·数据库·sqlserver
专吃海绵宝宝菠萝屋的派大星6 小时前
使用Dify对接自己开发的mcp
java·服务器·前端
大数据新鸟7 小时前
操作系统之虚拟内存
java·服务器·网络
Tong Z7 小时前
常见的限流算法和实现原理
java·开发语言
凭君语未可7 小时前
Java 中的实现类是什么
java·开发语言