登陆后往cookie里写东西_zbootadmin系列(十一)之vue登陆认证

点击上方 蓝字关注我们

e230b5705e15378562d0e7dca99fe8c2.png

                                ca4ecee3c1de5c00f59fe9541dd9e567.png

8cc2720bd9bd7bc2c1103dc4964e37e3.png

  大家好,我是小z,上一篇给大家带来了axios的配置教程,今天给大家带来一篇登陆获取token的教程。废话不多说,下面进入正题。

No.1

       首先我们先聊聊什么是token,token是服务器生成的一个字符串,是客户端发出请求的令牌,当我们第一次登陆后,客户端从服务器拿到token后保存起来,以后再需要访问后端服务的话,直接带上token,服务器会根据token来校验token。

      其中的好处之一就是减少了对数据库的不必要的io操作,减缓服务器的压力。

No.2

          接下来就是如何获取服务器端的token,以及如何存储了。

            1.通过登陆页面调用登陆接口,这部分用到了vuex相关知识,读者们不必过多关注,后续会有相关教程的文章哈,目前只需要了解如何得到以及如何存储就可以了。

  // 登录    Login({ commit }, userInfo) {      return new Promise((resolve, reject) => {        login(userInfo).then(res => {          let reg = new RegExp("[\\u4E00-\\u9FFF]+","g");          if (!reg.test(res.data))  {            setToken(res.data);            commit('SET_TOKEN', res.data);          }          resolve(res.data)        }).catch(error => {          reject(error)        })      })    },

         通过上述方法我们就获取到了从后端返回的token,然后我们调用setToken方法将token放到cookie里,调用commit方法把token存储到vuex里。这里的cookie我使用了js-cookie,安装很简单,使用npm安装即可。以下是我的js-cookie。

  import Cookies from 'js-cookie'const TokenKey = 'Zboot-Token'export function getToken() {  return Cookies.get(TokenKey)}export function setToken(token) {  return Cookies.set(TokenKey, token)}export function removeToken() {  return Cookies.remove(TokenKey)}

这样我们在每次在发送请求的时候都会从cookie里获取token,来校验用户的合法性。

  // request拦截器service.interceptors.request.use(  config => {    if (getToken()) {      config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改    }    return config  },  error => {    console.log(error);    Promise.reject(error)  });

在上一篇文章中zboot-admin系列(十)之前端axios配置,我们在axios里已经做了配置,在客户端发出请求的时候,所有请求都会进入request拦截里,从cookie里获取token,后端的spring security会进行token的认证,认证后返回结果集。前端根据不同的结果集返回不同的信息给用户。

No.3

    简单的小结下,登陆认证的功能就是获取后端的token,保存至客户端,客户端每次带着token进行请求,服务器根据token进行验证。

    好了,今天的文章就介绍这么多,如果想得到zboot-admin源码的话,请在公众号回复zboot,可得到源码。zboot-admin最近还会更新的功能,相应的教程都会在公众发布哦。

    最后还望大家帮忙点个再看,小z就心满意足了0ee83d51fce4744745ef115be91ca92d.png 祝大家周末愉快09496bd4de8cbfe9b6947f58798a3500.png09496bd4de8cbfe9b6947f58798a3500.png09496bd4de8cbfe9b6947f58798a3500.png

                                63d24abf99580ad3dd27a77f125e5043.gif

让我知道你在看

72189ff222577ef3df2f8b347370caa2.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值