VUE框架localStorage和sessionStorage存储区别前端jwt验证和token对登陆状态的保持的实现原理------VUE框架
原创
©著作权归作者所有:来自51CTO博客作者旧约Alatus的原创作品,请联系作者获取转载授权,否则将追究法律责任
vue前端通过axios提交loginAct,loginPwd参数
后端UsernamePasswordAuthenticationFilter接受
调用UserDetailsService的实现方法loadUserByUsername(String username)查询数据库
返回UserDetails对象给Spring Security框架进行密码比较,比较通过登陆成功
成功后回调成功的handler,失败为失败的handler
前端获取后端返回的json结果
token
前后端分离的项目一般采用token来保持登陆状态
javaweb使用的session,token其实就是随机一个字符串,这个字符串的要求是唯一,不同人的token不能相同
当用户在前端输入账号密码传递到后端
后端校验完成,会随机生成一个不重复的字符串token返回前端
前端拿到token需要在客户端进行持久化储存,一般在localStorage或sessionStorage中
下次再向后端发送请求,需要将token一并传递
后端接口校验token,如果合法则正常响应,不合法则提示未登录
localStorage和sessionStorage
他们是JS对象,浏览器支持这两个对象,可以直接使用
他们都是在浏览器客户端临时存储信息的对象
他们的区别是
sessionStorage只对一个浏览器页面起效
再新开一个浏览器页面就会失效,关闭浏览器再打开也会失效
localStorage在整个浏览器都有效,重启浏览器也有效,除非手动删除
才会失效