首先进入登录页面
在General下浏览请求URL/captchaImage
代码:
AjaxResult生成一个HashMap容器
new 一个ajax对象,指向jaxResult.success()返回操作成功
new一个captchaOnOff对象指向 configService.selectCaptchaOnOff();
而 selectCaptchaOnOff()在SysConfigServiceImpl进行实现,使得开启获得验证码的开关
而获取验证码则需要生成一个configkey从而使得验证码能成功生成
之后保存验证码消息
生成验证码
生成uuid
生成redis的key
生成验证码图片以及结果
将验证码的结果保存到reids中
返回验证码图片,以及uuid给前端
这样验证码就正常的显示出来
2.登录
输入验证码验证成功后会发现一个token的对象
这个类是验证用户的登录信息是否正确的代号,若用户的登陆信息正确,则回生成一个token,也就是令牌,然后用这个token进行验证,然后登录ruoyi的后端
代码
在SysLoginController中的URL login中生成令牌,也就是
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid());
这里就是调用了login函数,将用户的各个信息以及uuid,验证码调用到login函数中,然后在login中进行验证,之后生成token令牌
login代码:
login中的调用函数
验证用户的信息,以及登录星系
之后ajax.put(Constants.TOKEN, token);
使得token进入到容器内
验证token的有效性
token的总代码:
令牌通过之后
首先是
getinfo
获取登录角色的数据权限,返回该用户的数据权限
然后获取用户菜单的权限,返回获得的菜单权限
之后就是getRouters
然后是根据角色ID查询菜单树的信息
之后构建前端所需要的树结构
之后就是前端构筑菜单以及首页,就变成首页进行登录