当前位置:首页 > 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 并跳转到登录页。

vue 实现token登录

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

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

标签: vuetoken
分享给朋友:

相关文章

vue功能实现

vue功能实现

Vue 功能实现指南 Vue.js 是一个渐进式 JavaScript 框架,广泛用于构建用户界面。以下是 Vue 功能的常见实现方法。 数据绑定 Vue 的核心功能之一是数据绑定,通过 v-mod…

vue el 实现

vue el 实现

Vue 中使用 Element UI (el) 的实现方法 Element UI 是一个基于 Vue 的组件库,提供丰富的 UI 组件,常用于快速构建企业级中后台产品。以下介绍 Vue 项目中集成和使…

vue实现webapp

vue实现webapp

Vue 实现 WebApp 的基本步骤 环境准备 确保已安装 Node.js 和 npm/yarn。通过 Vue CLI 或 Vite 创建项目: npm install -g @vue/cli v…

vue实现答辩

vue实现答辩

Vue 实现答辩系统的关键步骤 项目初始化与配置 使用 Vue CLI 或 Vite 创建项目,安装 Vue Router 管理路由,Pinia/Vuex 进行状态管理。配置 ESLint 和 Pre…

vue cli 实现

vue cli 实现

Vue CLI 实现步骤 安装 Vue CLI 确保 Node.js 版本在 8.9 或以上。通过 npm 全局安装 Vue CLI: npm install -g @vue/cli 创建新项目 使…

vue实现画廊

vue实现画廊

Vue实现画廊的基本方法 使用Vue.js实现画廊功能可以通过多种方式完成,以下是一种常见的实现方案: 安装必要依赖 npm install vue-gallery --save 引入组件并注册…