当前位置:首页 > 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 CLI 快速初始化项目,安装必要依赖如 Vue Router、Vuex、Axios。 创建核心目录结构:components(通用组件)、views(页…

vue 实现toast

vue 实现toast

vue 实现 toast 的方法 在 Vue 中实现 Toast 提示功能可以通过多种方式,以下是几种常见的实现方法: 使用第三方库 Vue 生态中有许多成熟的 Toast 库,例如 vue-toa…

vue 实现直播

vue 实现直播

Vue 实现直播的基本方法 在Vue中实现直播功能,通常需要结合WebRTC、RTMP或HLS等技术。以下是几种常见的实现方式: 使用WebRTC实现实时直播 WebRTC适合低延迟的实时直播场景,…

vue 组件实现

vue 组件实现

Vue 组件实现方法 单文件组件 (SFC) 使用 .vue 文件格式,包含模板、脚本和样式三部分: <template> <div class="example">{{…

vue实现定时

vue实现定时

Vue 实现定时功能的方法 使用 setInterval 和 clearInterval 在 Vue 中可以通过 setInterval 和 clearInterval 实现定时功能。在组件的 mou…

vue实现api

vue实现api

Vue 实现 API 调用 在 Vue 中调用 API 通常涉及使用 axios 或 fetch 发送 HTTP 请求,并结合 Vue 的响应式特性管理数据。以下是常见的实现方式: 安装 axios…