springboot+vue+redis实现自动登录功能


思路(代码看“chufangmama”这个项目):
我们登录成功后,可以将登录的用户存储到redis中。在redis中数据没有过期的情况下,我们再次进入登录页面时,会使用vue的created方法发送一个axios请求,去查询redis中是否有用户数据。如果有,可以使用sendRedirect进行跳转,不建议使用request.getRequestDispatcher().forward,因为这个方法会改变我们的请求路径,这样即使我们自动登录成功,但是我们项目源代码中引用的那些图片啊、css啥的都没法加载,因为我们的请求路径改变了。
只使用sendRedirect进行跳转还不够,虽然我们看到控制台显示请求302,即我们的请求相应成功,但是页面并没有跳转。前端页面的跳转还需要我们进行控制。在这里,因为自动登录不用向后端传递什么数据,所以就使用的get请求,同时在axios的回调函数中,我们可以使用window.location = "/"来控制重定向后前端页面的跳转,但是不可以不进行判断就跳转。
如果我们使用后端请求向前端返回请求成功的数据,因为我们重定向页面了,所以并不能从返回数据的data中拿到数据,相反,我们拿到的data数据是页面源代码。所以可以通过判断result.data!="",即不等于空进行条件限制。具体代码如下:
前端

后端

可以看看控制台,data中的数据并不是我们后端返回的str,所以这个返回str语句可以删除


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM