当前位置:首页 > 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 通过响应式系统实现数据检测,核心机制基于 Object.defineProperty(Vue 2)或 Proxy(Vue 3)。以下是具体实现方法: 基于 Vue…

vue实现文章锚点定位

vue实现文章锚点定位

实现文章锚点定位的方法 在Vue中实现文章锚点定位可以通过多种方式完成,以下是几种常见的方法: 使用原生HTML锚点 通过HTML的id属性和<a>标签的href属性实现锚点跳转。在V…

vue实现星星

vue实现星星

实现星星评分的Vue组件 使用Vue实现星星评分功能可以通过组件化方式完成,以下是一个完整的实现方案: 模板部分 <template> <div class="star-…

vue实现缩放

vue实现缩放

Vue 实现缩放的方法 在 Vue 中实现缩放功能可以通过多种方式完成,以下是一些常见的方法: 使用 CSS transform 属性 通过 CSS 的 transform: scale() 属性…

vue怎么实现

vue怎么实现

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

vue实现网站

vue实现网站

Vue 实现网站的基本步骤 Vue.js 是一个渐进式 JavaScript 框架,适合构建现代化的单页应用(SPA)或动态网站。以下是使用 Vue 实现网站的基本方法。 初始化 Vue 项目 使…