最近在做数据库课程设计,我是做前端的,后端并不是很懂,看vue这个框架仅仅只是入门,所以这篇文章写的可能不怎么好,仅作记录,有什么不对或不足的地方欢迎大神指出。
问题
做一个登录界面,我选择的是用token进行验证登录,我用的前端框架是Vue.js 和 element-ui,如何在vue 中使用token进行验证登录
思考
1、利用token进行验证登录,用户进行登录操作时,后台会生成一个token返回给前端,由前端 将这个token放到请求头中(这个是百度的,一般都是放在请求头),并且此后调用接口都要把token放到请求的请求头传回给后台。
2、用户登录后,前端需要把token保存下来,后面发送请求的时候在拿出来;
3、在发送每个请求时都要把token加到请求头里,写一个全局的拦截器
记录和说明
使用vuex存储登录状态并用cookie存储token
在src文件夹(我的vue项目是用vue-cli 脚手架创建的)下创建一个store文件夹,在store中创建一个index.js
src/store/index.js
1 | import Vue from 'vue' |
src/store/module/user.js
1 | import { loginById,loginByToken, logout, getUserInfo,checkSession,changePassword, register} from '@/api/user' |
说明:
(1)在写src/store/index.js 里的内容之前,要在你的项目里安装Vuex ,这里只提供npm的安装方法,在项目根目录处打开cmd 输入下面的命令,后回车
npm install vuex --save
(2) 在这个store/store/index.js中 这段代码setToken,removeToken这两个函数源码为:
1 | import Cookies from 'js-cookie' |
定义全局拦截器和Ajax请求对象
src/main.js
1 | import axios from 'axios' |
说明
这个是全部的代码,不一定都和这个一样,下面说说用token验证,src/main.js中要配置那些东西
说明
具体前端代码
src/components/login.vue
1 | onLogin(){ |


