一、前言
不管是作为一个后台管理系统,还是客户端应用系统,登录都是一个必备的功能,基本上每个程序员都写过登录接口,基本就是用户输入账号密码然后去数据查比对是否一样,一样就返回登录成功,不一样就返回登录失败。当然这只是登录最简单的实现,其实登录是一个非常有技术含量的功能,本系统没有使用任何权限框架,而是基于JWT redis 自己手撸实现的一套鉴权逻辑,采用了B、C端多账号体系认证,B端代表后台用户,C端代表前台用户,可以根据不同的端来处理登录逻辑,目前只实现了B端登录,如需C端请自行扩展。
二、登录设计本系统中登录分为账号密码登录、手机号登录和第三方登录,目前已经实现前面两种,第三种需要自己拓展实现。
2.1 账号密码登录基本流程图:
进入登录页面之后会读取系统配置判断是否需要验证码,如果需要验证码就会去请求验证码接口获取验证码并显示在页面上。
除了用户名密码,还需要将验证码和请求号传入登录接口供后端验证,不然这个验证码就形同虚设了。
后端接收到前端传过来的账号密码和验证码,判断验证码是否正确,解密之后的密码是否和数据库一致,如果吻合,则生成token返回给前端