当前位置:首页 > VUE

vue实现登录不用token

2026-01-21 13:12:22VUE

Vue 实现无 Token 登录方案

在 Vue 中实现无 Token 登录通常依赖于传统的 Session-Cookie 机制或本地存储验证。以下是几种常见方法:

基于 Session-Cookie 的认证

后端需配置支持 Session,前端通过表单提交用户名密码:

// 登录请求示例
axios.post('/login', {
  username: 'user',
  password: 'pass'
}).then(response => {
  // 后端会在响应头设置Set-Cookie
  if (response.data.success) {
    this.$router.push('/dashboard')
  }
})

浏览器会自动管理 Cookie,后续请求会自动携带。需确保 withCredentials: true

axios.defaults.withCredentials = true

本地存储用户状态

将登录状态保存在 localStorage 或 Vuex 中:

// 登录成功后存储状态
localStorage.setItem('isAuthenticated', 'true')
localStorage.setItem('username', 'user')

// 路由守卫检查
router.beforeEach((to, from, next) => {
  if (to.meta.requiresAuth && !localStorage.getItem('isAuthenticated')) {
    next('/login')
  } else {
    next()
  }
})

基于 HTTP Basic Auth

通过 Base64 编码用户名密码(安全性较低,适合内部系统):

axios.get('/api', {
  headers: {
    'Authorization': 'Basic ' + btoa('user:pass')
  }
})

服务端渲染(SSR)方案

使用 Nuxt.js 时可直接通过 req.session 管理:

// nuxtServerInit 动作
export const actions = {
  async nuxtServerInit({ dispatch }, { req }) {
    if (req.session.user) {
      await dispatch('user/setUser', req.session.user)
    }
  }
}

安全注意事项

  • 始终使用 HTTPS 传输敏感数据
  • Session 需设置 HttpOnly 和 Secure 属性
  • 考虑添加 CSRF 保护机制
  • 敏感操作应进行二次验证

这些方案适用于不需要分布式认证的简单系统,对于需要更高安全性的场景仍推荐采用 Token 机制。

vue实现登录不用token

标签: vuetoken
分享给朋友:

相关文章

vue   实现单选

vue 实现单选

Vue 实现单选功能 在 Vue 中实现单选功能可以通过多种方式,以下是几种常见的方法: 使用原生 <input type="radio"> 绑定 v-model 通过 v-model…

vue实现tablegrid

vue实现tablegrid

Vue 实现 TableGrid 的方法 使用 Element UI 的 Table 组件 Element UI 提供了强大的 Table 组件,可以快速实现表格布局。安装 Element UI 后,…

vue实现过滤

vue实现过滤

Vue实现过滤的方法 在Vue中实现数据过滤可以通过多种方式完成,以下是几种常见的方法: 使用计算属性过滤 计算属性是Vue中处理数据过滤的理想选择,它们基于响应式依赖进行缓存,只有在相关依赖发生…

vue实现driver

vue实现driver

Vue 实现 Driver.js 引导功能 Driver.js 是一个轻量级的 JavaScript 库,用于在网页上创建引导式导览。以下是在 Vue 项目中集成 Driver.js 的详细方法:…

vue实现radio

vue实现radio

Vue 实现 Radio 按钮 在 Vue 中实现 Radio 按钮可以通过 v-model 进行数据绑定,结合 input 元素的 type="radio" 属性。以下是一个基本示例: <t…

vue 实现长按

vue 实现长按

实现长按功能的基本思路 在Vue中实现长按功能,通常需要监听元素的mousedown或touchstart事件,启动一个计时器。当用户按住元素超过设定的时间阈值时,触发长按回调函数。如果在时间阈值内触…