elementui实战学习总结(更新中)

131 阅读1分钟

一、登录和退出功能

登录状态保存问题:
当前端与后端接口之间存在跨域问题,推荐使用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')