一、登录和退出功能
登录状态保存问题:
当前端与后端接口之间存在跨域问题,推荐使用Token,反之,推荐使用Session或Cookie
Token原理

路由导航守卫控制访问权限
如果用户没有登录,直接通过URL访问特定页面,需要重新导航到登录页面
// 为路由对象,添加beforeEach导航守卫
router.beforeEach((to, from, next) => {
// 如果用户访问的登录页,直接放行
if(to.path === '/login') return next()
// 从sessionStorage中获取到保存的token值
const tokenStr = window.sessionStorage.getItem('token')
// 没有token,强制跳转到登录页
if(!tokenStr) return next('/login')
next()
})
退出功能实现原理
基于token的方式实现退出比较简单,只需要销毁本地的token即可。这样,后续的请求就不会携带token,必须重新登录生成一个新的token之后才可以访问页面。
// 清空token
window.sessionStorage.clear()
// 跳转到登录页
this.$router.push('/login')

本文介绍了一种前后端分离架构下基于Token的登录与退出机制实现方案。利用Token进行身份验证,通过路由守卫拦截未授权访问并引导用户至登录页面;退出时销毁Token,确保用户信息安全。
928

被折叠的 条评论
为什么被折叠?



