当前位置:首页 > VUE

vue记住登录功能实现

2026-02-23 13:00:49VUE

实现 Vue 记住登录功能的方法

使用 localStorage 或 sessionStorage 存储登录状态
将用户登录信息(如 token 或用户名)存储在浏览器的 localStorage 中,关闭浏览器后仍能保留。sessionStorage 仅在当前会话有效,关闭浏览器后失效。

vue记住登录功能实现

// 登录成功后存储信息
localStorage.setItem('userToken', 'your_token_here');
localStorage.setItem('rememberMe', 'true');

// 退出登录时清除
localStorage.removeItem('userToken');
localStorage.removeItem('rememberMe');

结合 Vuex 状态管理
在 Vuex 中初始化时从 localStorage 读取登录状态,保持全局状态同步。

vue记住登录功能实现

// store.js
const store = new Vuex.Store({
  state: {
    userToken: localStorage.getItem('userToken') || null,
    rememberMe: localStorage.getItem('rememberMe') === 'true'
  },
  mutations: {
    setUserToken(state, token) {
      state.userToken = token;
      localStorage.setItem('userToken', token);
    }
  }
});

登录表单添加记住我选项
在登录表单中增加复选框,绑定到组件的 data 或 Vuex 状态。

<template>
  <input type="checkbox" v-model="rememberMe"> 记住我
</template>

<script>
export default {
  data() {
    return {
      rememberMe: false
    };
  },
  methods: {
    login() {
      if (this.rememberMe) {
        localStorage.setItem('userToken', 'token_value');
      } else {
        sessionStorage.setItem('userToken', 'token_value');
      }
    }
  }
};
</script>

路由守卫验证登录状态
在路由导航前检查 localStorage 或 Vuex 中的登录状态,决定是否跳转。

// router.js
router.beforeEach((to, from, next) => {
  const isAuthenticated = localStorage.getItem('userToken') !== null;
  if (to.meta.requiresAuth && !isAuthenticated) {
    next('/login');
  } else {
    next();
  }
});

安全注意事项
避免存储敏感信息如密码,建议只存储 token 或加密后的数据。定期清理过期的 token,结合后端验证机制增强安全性。

标签: 功能vue
分享给朋友:

相关文章

vue实现选中单元格

vue实现选中单元格

Vue 实现选中单元格的方法 基础实现思路 在 Vue 中实现选中单元格功能,通常可以通过动态绑定 class 或 style 来实现。以下是一个基于表格的简单实现示例: <template&…

vue 实现grid

vue 实现grid

在Vue中实现Grid布局可以通过多种方式完成,以下是几种常见的方法: 使用CSS Grid布局 CSS Grid是一种强大的布局系统,可以直接在Vue组件的样式中使用。以下是一个简单的示例: &…

vue原理实现

vue原理实现

Vue 原理实现的核心机制 Vue.js 的核心原理基于响应式系统、虚拟 DOM 和模板编译。以下是其核心实现机制的分解: 响应式系统 Vue 使用 Object.defineProperty(Vu…

vue事件实现

vue事件实现

Vue 事件实现方法 在Vue中,事件处理是通过v-on指令或@简写来实现的。以下是几种常见的事件处理方式: 使用v-on指令绑定事件 <button v-on:click="handleC…

vue实现eventbus

vue实现eventbus

Vue 中实现 EventBus 在 Vue 中,EventBus 是一种跨组件通信的机制,尤其适用于非父子组件之间的数据传递。以下是实现 EventBus 的几种方法: 方法一:使用 Vue 实例…

vue实现书库

vue实现书库

Vue 实现书库功能 使用 Vue 构建书库功能需要结合前端框架和后端数据管理。以下是实现步骤和关键点: 项目初始化 使用 Vue CLI 或 Vite 初始化项目,安装 Vue Router 和状…