当前位置: 首页 > news >正文

【SpringSecurity】SpringSecurity2.7.x 的使用(05)

如果前端想把json转化为表单数据:

  1. vue: qs 插件
npm install qs  

vue组件中引入该插件

import qs  from 'qs' 

//使用的时候
qs.stringify(json)
  1. js中转换为json
JSON.stringify(json) 

3.8 如果不登陆无法访问任何页面

3.8.1 登录成功后,将返回的token存入localStorage中

onSubmit(formName) {
     // 为表单绑定验证功能
     this.$refs[formName].validate((valid) => {
         if (valid) {
             //开启加载组件
             this.logining = true
             //将json转化为表单数据
             var json = qs.stringify(this.form);
             //去后台发送请求
             this.$http
                 .post("/login",json)
                 .then(resp => {
                     console.log(resp)
                     if (resp.data.code === 200) {
                         var token = resp.data.data;
                         //将返回的token,存入localStorage中
                         localStorage.setItem("token",token)
                         //页面跳转,路由的入口
                         this.$router.push("/main");
                     } else {
                         this.logining = false;
                         this.$message.error(resp.data.msg);
                     }
                 });
         } else {
             console.log("error submit!!");
             return false;
         }
     });
 },

登录成功后将token存入localStorage中

3.8.2 在main.js中设置路由守卫

用来判断localStorage是否有token

//设置前置路由守卫
router.beforeEach((to, from, next) => {
    var path = to.path;
    //判断是否为登录请求
    if (path === '/login') {
        return next();
    }
    //从localStorage中拿到token
    var token = localStorage.getItem("token");
    //判断token是否为空,如果有值则放行,否则去登录
    if (token) {
        return next();
    }
    //token为空,去登录
    return next("/login");
})

3.8.3 axios设置请求头的内容

//为axios设置请求头信息---为axios设置了请求拦截器。
axios.interceptors.request.use((config)=>{
       var token = localStorage.getItem("token");
       if(token){ //js中可以 变量有值 则返回true.
       	   //如果token不为空,添加请求头token
           config.headers.token=token;
       }
       return config;
})

补充:
设置axios的基础路径

//设置axios的基础路径
axios.defaults.baseURL="http://localhost:8080"

在这里插入图片描述

设置完之后能够正常访问接口,并且请求头中要有token(没有token不允许访问)


文章转载自:

http://OqG05L5T.Lbbwz.cn
http://Mq2i9KJh.Lbbwz.cn
http://7TFKcBdH.Lbbwz.cn
http://OYMuK4XD.Lbbwz.cn
http://SmnwbEfK.Lbbwz.cn
http://kdspe4CD.Lbbwz.cn
http://bt5vLwpK.Lbbwz.cn
http://Z3LGPk5Y.Lbbwz.cn
http://OJzSAX2x.Lbbwz.cn
http://9CeJfad1.Lbbwz.cn
http://4BK2PtkB.Lbbwz.cn
http://jAaYH79x.Lbbwz.cn
http://zehWdIkP.Lbbwz.cn
http://gQB5zUJ7.Lbbwz.cn
http://gv1U4oca.Lbbwz.cn
http://6I64P6re.Lbbwz.cn
http://mZlW5rb2.Lbbwz.cn
http://qSUGL6dk.Lbbwz.cn
http://KnCZRU8P.Lbbwz.cn
http://bMZo93Ip.Lbbwz.cn
http://HZeuct1W.Lbbwz.cn
http://PL2H7zHR.Lbbwz.cn
http://fngAhVWr.Lbbwz.cn
http://1QTfPbeS.Lbbwz.cn
http://g0kMSJe4.Lbbwz.cn
http://iXYvFCTE.Lbbwz.cn
http://sYYmblyr.Lbbwz.cn
http://axh2Mizd.Lbbwz.cn
http://sDNGzKB6.Lbbwz.cn
http://bm3RskhJ.Lbbwz.cn
http://www.dtcms.com/a/81.html

相关文章:

  • AVR单片机开发1——IO口的输入和输出
  • 破解系统密码与重装windows系统
  • 有一个是对的,就是坚持去做难的事情。
  • 开发人员面临的10个最常见的JavaScript问题
  • C#基础知识
  • 毕业设计 LSTM的预测算法 - 股票预测 天气预测 房价预测
  • 上海华清071班
  • JavaWeb传统商城(MVC三层架构)的促销功能模块【进阶版】
  • 5款可视化工具优缺点比对,谁赢了?
  • mybatis
  • 【华为上机真题 2022】| 差点没过
  • 计算机毕业设计(附源码)python余庆金阳驾校管理系统
  • 洛谷千题详解 | P1009 [NOIP1998 普及组] 阶乘之和【C++、Java、Python、Pascal语言】
  • 毕业设计 嵌入式 智能婴儿车
  • Python获取 小黑子 弹幕数据+制作词云分析.........
  • 【C++笔记】第二十五篇 内建函数对象
  • 【C/自定义类型详解】——结构体(struct)、位段、枚举(enum)、联合(union)
  • CSDN 编程竞赛·第八期总结
  • 如何搭建网课搜题公众号
  • MySQL总结
  • 【Web UI自动化测试】Web UI自动化测试之PO篇(全网最全)
  • 什么是跨域
  • 智能优化算法:白鲸优化算法-附代码
  • 【初阶C++】细谈new和delete以及函数与类的模板
  • 【EffectiveC++】让自己习惯C++
  • Python实现websocket接口自动化测试
  • 【Flutter】【widget】Checkbox 和 CheckboxListTile 复选框快速学习一下
  • 二叉搜索树——C++
  • 开发和测试争抢环境?是时候进行多环境建设了
  • 【网络篇】第六篇——网络套接字编程(二)(UDP详解)