【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不允许访问)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

打乒乓球只会抽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值