瑞吉外卖中手机短信验证码登陆的问题以及过程整理
本篇接上一篇文章:
《基于SpringBoot+MybatisPlus开发的外卖管理项目》戳戳戳 http://t.csdn.cn/cRJYY
因为要实现真正的手机验证码登陆,需要上阿里云或者其他云购买相关的短信服务。
对于学习期的我们来说可能很难做到。
所以关于实现真实的发送短信验证的步骤,朋友们可以看视频跟着操作,这里就不再多说啦~
所以我们这里在需要发送短信时,使用Slf4j日志打印的方法,模拟手机收到短信。
再进行登陆验证即可。
在下载的资料中,发送短信这一项的前端代码和请求直接是去除了的,所以我们需要修改一下。
0、准备工作
-
放行资源添加上:在
LoginCheckFilter
中//找到我们之前的过滤器,添加两个路径即可。 // 2.1 定义不需要处理的请求 String[] urls = new String[]{ "/employee/login", //controller中的登陆请求 不拦截 "/employee/logout", //controller中的退出请求 不拦截 "/backend/**", //对静态资源进行放行,我们需要拦截的一般是对数据的请求 "/front/**", "/common/**",//测试上传下载时使用的路径 "/user/sendMsg", //发送验证码的请求的路径 "/user/login" //用户验证码登陆的路径 };
-
添加一个检测登陆的用户(user)的代码块,与之前员工(employee)登陆的写法一摸一样
//4.2 判断登陆状态,如果已登陆,则直接放行 if (request.getSession().getAttribute("user")!=null){ log.info("监测到已登陆,id为:{}",request.getSession().getAttribute("user")); //调用我们基于ThreadLocal的工具类,将用户id存储到线程中,方便在自动填充时取出用户id Long employeeId = (Long) request.getSession().getAttribute("user"); BaseContext.setCurrentId(employeeId); filterChain.doFilter(request,response); //放行 return; //若放行 后面代码无需执行 直接return