当前位置:首页 > 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 管理:

vue实现登录不用token

// 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 机制。

标签: vuetoken
分享给朋友:

相关文章

vue实现watch

vue实现watch

监听数据变化 在Vue中,watch用于监听响应式数据的变化并执行回调函数。基本语法如下: watch: { propertyName(newValue, oldValue) { //…

vue实现type切换

vue实现type切换

Vue 实现 Type 切换的实现方法 在 Vue 中实现 Type 切换功能可以通过动态组件、条件渲染或路由切换等方式实现。以下是几种常见方法: 使用 v-if 或 v-show 条件渲染 通过绑…

vue实现滚动显示

vue实现滚动显示

Vue 实现滚动显示的几种方法 在 Vue 中实现滚动显示可以通过多种方式实现,以下是几种常见的方法: 使用 CSS 动画 通过 CSS 的 animation 属性结合 @keyframes 实现…

vue实现颜色闪烁

vue实现颜色闪烁

实现颜色闪烁的方法 在Vue中实现颜色闪烁效果可以通过CSS动画或JavaScript定时器动态修改样式。以下是两种常见的实现方式: 使用CSS动画实现 通过定义@keyframes动画规则,结合V…

vue实现回顶部

vue实现回顶部

实现方法一:使用 window.scrollTo 在Vue组件中,可以通过调用 window.scrollTo 方法平滑滚动到页面顶部。该方法接受一个配置对象,指定滚动行为为平滑(smooth)。…

vue 实现异步加载

vue 实现异步加载

Vue 实现异步加载的方法 使用动态 import 实现组件懒加载 在 Vue 中可以通过动态 import() 语法实现组件的异步加载,这会使得组件在需要时才被加载,减少初始加载时间。 const…