若依学习

  • 登录

    • 前端进入页面,发送请求/captchaImage生成验证码图片与uuid返回,同时在redis中添加数据(后面的一串是uuid)

      image-20240107142412819

    • 用户提交登录信息,携带uuid再次请求/login

      • 验证码校验:根据uuid查询redis中是否存在该key,并校对key对应的value,也就是验证码的值

        • 注意:这个验证码有时效性的
      • 用户密码合法性校验:异步任务管理器类 AsyncManager

        • AsyncManager的本质:调用了scheduledExecutorService
      • 校验密码是否匹配

        image-20240107144235191

        关键是UserDetailsServiceImpl.loadUserByUsername()方法

      • 记录登录信息生成token并返回

      • 登录成功:记录token在redis中

        image-20240107143024674