简单分析一下Ruoyi-vue的登录原理

RuoYI-Vue的目录分析

RuoYI.png

关键代码文件

controllersystemSysLoginController.java

frameworkwebserviceSysLoginService.java

frameworkwebserviceTokenService.java

1.前端Vue页面访问login接口。传参为用户名和密码。

 @PostMapping("/login")
    @ApiOperation(value="用户登录接口", notes="用户登录")
    public AjaxResult login(@RequestBody LoginBody loginBody) throws Exception {
        String rules="^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[@$!%*?&^#~.+-])(?=.*[^a-zA-Z0-9]).{8,20}$";
        AjaxResult ajax = AjaxResult.success();
        //生成令牌
        String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
                loginBody.getUuid());
        ajax.put(Constants.TOKEN, token);
        //正则表达式8-20 位
        if(ajax.get("msg").equals("操作成功")){
           String password= RsaUtils.decryptByPrivateKey(loginBody.getPassword());

           boolean flag=Pattern.matches(rules,password);
           if(flag==true){
               ajax.put("lesspass", "1");
           }else{
               ajax.put("lesspass", "0");//弱密码
           }
        }
        return ajax;
    }

2.过滤器

JwtAuthenticationTokenFilter

token6.png

获取token信息

用令牌获取.png

3.RuoYI的Jwt生成Token,并且返回

4.下一次访问的时候通过Token进行校验。

5.完成

标签: none

相关阅读

  • 测试信息
  • 拼多多2023年度财报分析
  • 2023年最后一个工作日
  • 2023山东社会责任企业(企业家)” 推选活动结果
  • 测试信息
  • 测试信息
  • 测试信息