前后台分离开发--登录功能

用户登录

//-------前台思路--------//

传递三个参数,phone,password ,type  (type用来判断是用户登录还是员工登录)

//--------后台思路--------//

Controller拿到这三个参数(可以用一个LoginDto封装起来) 把参数传递到service 层 并给页面返回一个map 里面存放了登录的一些信息

Service 拿到数据,进行业务处理

  1. ) 非空判断,
  2. ) 通过Dto 对象里面的phone,type去查loginInfo表 查询有没有该对象
  3. )对象存在, 判断用户输入的密码和对象的里面是否一致

注意:密码都是通过MD5技术加密的,

先拿到对象longininfo的盐值 拼接前台传递过来的password 然后通过工具类进行加密 得到加密之后的密码

String password = MD5Utils.encrypByMd5(salt + loginDto.getPassword())

将这个加密过后的密码跟数据库的密码进行对比

  1. 密码正确 就把用户信息存入到redis中

Redis中 存了 token, logininfo,有效时间  (token是通过uuid工具类生成的令牌,相当于用户的唯一标识,一个用户对应一个token)

(5) 前台需要一个map 创建一个map 把redis的里面的值 通过map返回

map.put(token,token),

Map.put(logininfo,logininfo)

Logininfo 是一个对象 保存在本地的时候,需要序列化

(6 ) 返回map

拦截器: 有四个  前置拦截器  拦截后台的,只有发送axios请求到后台都会携 带token 为了给后端校验是否登录

后置拦截器  拦截后台的,为了取到响应的内容

前台拦截器   拦截前台页面的,在没有和后台进行数据交 互的时候,对某一些特定的页面放行 可以不登录 访问

后台拦截器  拿到redis里面的token中的value. 里面保存了用户的信息,跟数据库对比,判断是否登录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值