版权声明:欢迎转载,注明作者和出处就好!如果不喜欢或文章存在明显的谬误,请留言说明原因再踩哦,谢谢,我也可以知道原因,不断进步! https://blog.csdn.net/csonst1017/article/details/85627500

由于后台是用jwt的token进行身份权限验证,后台在登录后把token添加响应头里,所以前台需要把这个token存放起来,并给每次请求的请求头添加上token,服务器才能获取token进行身份认证。

前台使用vue项目:
loging.vue(登录组件)

{
			submitForm(formName) {
				this.$axios
					.post('/api/admin/login', {
						userName: this.ruleForm.userName,
						password: this.ruleForm.password
					})
					.then(successResponse => {
						this.responseResult = JSON.stringify(successResponse.data)
						this.msg = JSON.stringify(successResponse.data.msg)
						if (successResponse.data.code === 200) {
							this.msg='';
							localStorage.setItem('userName',this.ruleForm.userName);
							//获取并存储服务器返回的AuthorizationToken信息
							var authorization=successResponse.headers['authorization'];
							localStorage.setItem('authorization',authorization);
							//登录成功跳转页面
							this.$router.push('/dashboard');
							
						}
					})
					.catch(failResponse => {})
			}
		}

main.js(全局配置js):

//自动给同一个vue项目的所有请求添加请求头
axios.interceptors.request.use(function (config) {
	let token = localStorage.getItem('authorization');
	if (token) {
		config.headers['Authorization'] = token;
	}
	return config;
})

这里还需要考虑token过期失效的问题,博主将会在后续另写博客补充。

Logo

前往低代码交流专区

更多推荐