Bootstrap

后端token校验流程

获取用户信息

前端中只有 await userStore.getInfo() 表示从后端获取数据
在这里插入图片描述
在页面中找到info对应的url地址,在IDEA中查找
在这里插入图片描述
这里是getInfo函数的声明,我们要找到这个函数的使用,所以点getInfo()
在这里插入图片描述

@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的地方
在这里插入图片描述
在这里插入图片描述

;