当前位置:首页 > VUE

vue 实现token登录

2026-02-19 13:55:59VUE

实现 Token 登录的基本流程

在 Vue 中实现 Token 登录通常涉及前端与后端的交互,主要包括登录请求、Token 存储、请求拦截和权限验证等步骤。

登录请求与 Token 获取

前端通过 HTTP 请求(如 Axios)向后端发送登录信息(用户名和密码),后端验证成功后返回 Token。示例代码如下:

// 登录方法示例
async login() {
  try {
    const response = await axios.post('/api/login', {
      username: this.username,
      password: this.password
    });
    const token = response.data.token;
    localStorage.setItem('auth_token', token); // 存储 Token
    this.$router.push('/dashboard'); // 跳转到主页
  } catch (error) {
    console.error('登录失败:', error);
  }
}

Token 存储与持久化

Token 通常存储在 localStoragesessionStorage 中,以实现页面刷新后的持久化。也可以使用 Vuex 管理 Token 状态。

// 存储 Token
localStorage.setItem('auth_token', token);

// 读取 Token
const token = localStorage.getItem('auth_token');

// 清除 Token
localStorage.removeItem('auth_token');

请求拦截与 Token 验证

通过 Axios 的请求拦截器,在每次请求时自动将 Token 添加到请求头中。

// Axios 请求拦截器
axios.interceptors.request.use(config => {
  const token = localStorage.getItem('auth_token');
  if (token) {
    config.headers.Authorization = `Bearer ${token}`;
  }
  return config;
}, error => {
  return Promise.reject(error);
});

路由守卫与权限控制

使用 Vue Router 的路由守卫(beforeEach)验证 Token,防止未登录用户访问受限页面。

// 路由守卫示例
router.beforeEach((to, from, next) => {
  const token = localStorage.getItem('auth_token');
  if (to.meta.requiresAuth && !token) {
    next('/login'); // 跳转到登录页
  } else {
    next(); // 放行
  }
});

Token 过期处理

后端通常会设置 Token 有效期,前端可以通过响应拦截器检查 Token 是否过期,并跳转到登录页。

// Axios 响应拦截器
axios.interceptors.response.use(response => {
  return response;
}, error => {
  if (error.response.status === 401) {
    localStorage.removeItem('auth_token');
    router.push('/login'); // Token 过期或无效,跳转到登录页
  }
  return Promise.reject(error);
});

退出登录功能

清除本地存储的 Token 并跳转到登录页。

// 退出登录方法
logout() {
  localStorage.removeItem('auth_token');
  this.$router.push('/login');
}

通过以上步骤,可以实现 Vue 中的 Token 登录功能。实际开发中需根据后端接口调整请求和响应逻辑。

vue 实现token登录

标签: vuetoken
分享给朋友:

相关文章

vue实现过程

vue实现过程

Vue 的实现过程 Vue 的实现过程可以分为多个核心模块,包括响应式系统、虚拟 DOM、模板编译等。以下是 Vue 的主要实现过程分析。 响应式系统 Vue 的响应式系统基于 Object.de…

vue实现高亮

vue实现高亮

Vue 实现文本高亮的方法 在 Vue 中实现文本高亮可以通过多种方式完成,以下是几种常见的方法: 方法一:使用 v-html 指令 通过 v-html 指令可以动态插入 HTML 内容,将需…

vue怎么实现

vue怎么实现

Vue 实现方法 Vue 是一个流行的前端框架,用于构建用户界面。以下是几种常见的实现方法: 数据绑定 使用 v-model 指令实现双向数据绑定,适用于表单输入元素。 <input v-m…

vue实现机制

vue实现机制

Vue 实现机制的核心原理 Vue.js 的核心实现机制主要基于响应式系统、虚拟 DOM 和组件化设计。以下是关键实现细节: 响应式系统 Vue 通过 Object.defineProperty(…

vue jwt实现

vue jwt实现

Vue JWT 实现方法 安装依赖 确保项目中安装了 jsonwebtoken(后端)和 axios(前端)。若使用 Vue 3,可搭配 vue-router 和 pinia(或 vuex)管理状态。…

vue 实现单点登录

vue 实现单点登录

单点登录(SSO)实现原理 单点登录允许用户通过一次身份验证访问多个系统。核心原理是用户首次登录后,认证中心颁发令牌(如Token),其他系统通过验证令牌实现免登录。 Vue中实现SSO的方案 基于…