StarBlog博客开发笔记:前端开发之导航守卫
路由对象router给我们提供了beforeEach方法,可以在每次路由之前进行一些相关处理,也叫导航守卫,我们这里就通过导航守卫实现一些类似身份认证的辅助功能。 修改router/index.js文件,添加导航守卫,在每次路由时判断用户会话是否过期。如果登录有效且跳转的是登录界面,就直接路由到主页;如果是非登录页面且会话过期,就跳到登录页面要求登录。 代码如下 router.beforeEach
路由对象router给我们提供了beforeEach方法,可以在每次路由之前进行一些相关处理,也叫导航守卫,我们这里就通过导航守卫实现一些类似身份认证的辅助功能。
修改router/index.js文件,添加导航守卫,在每次路由时判断用户会话是否过期。如果登录有效且跳转的是登录界面,就直接路由到主页;如果是非登录页面且会话过期,就跳到登录页面要求登录。
代码如下
router.beforeEach((to, from, next) => {
// 登录界面登录成功之后,会把用户信息保存在会话
// 存在时间为会话生命周期,页面关闭即失效。
let userName = sessionStorage.getItem('user')
if (to.path === '/login') {
// 如果是访问登录界面,如果用户会话信息存在,代表已登录过,跳转到主页
if (userName) next({path: '/'})
else next()
} else {
if (!userName) {
// 如果访问非登录界面,且户会话信息不存在,代表未登录,则跳转到登录界面
next({path: '/login'})
}
}
})
_EOF_
StarBlog博客开发笔记:前端开发之导航守卫
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
StarBlog博客开发笔记:前端开发(5)之axios网络请求封装
安装axios axios是一个基于Promise用于浏览器和Node.js的HTTP客户端,我们后续需要用来发送HTTP请求,先来记录一下axios的安装和使用。 安装命令 yarn add axios 写代码 修改一下src/views/Home.vue 首先布局改一下 template div class=page h2Home Page/h2 el-alert
2025-03-27 · StarBlog前端开发-Vue · 约 1 分钟
StarBlog博客开发笔记:前端开发(3)之SASS与SCSS
前言 本项目需要使用SCSS来编写页面样式。 这里的SASS,是指名为SASS的css预处理器 然后SCSS是一种 CSS-like 语法 对于初学者,SCSS 是完全和 CSS 兼容的,这意味着几乎为零的学习曲线。SCSS语法即是:它只是加了一些功能的 CSS。当你和没经验的开发者一起工作时这很重要:他们可以很快开始编码而不需要首先去学习Sass。 此外,SCSS 还是 易于阅读 的,因为它是有
2024-12-13 · StarBlog前端开发-Vue · 约 1 分钟
StarBlog博客开发笔记:前端开发(6)之登录页面
前言 前端开发的准备工作在前面已经完成了,接下来就要开启写页面(Copy/Paste)操作了~ 用ElementUI写页面很简单,对照着官网文档代码一顿复制粘贴就完事了。 写代码 没啥好说的,直接代码 布局 template el-form :model=loginForm :rules=fieldRules ref=loginForm label-position=left label-wi
2023-07-14 · StarBlog前端开发-Vue · 约 1 分钟
StarBlog博客开发笔记:前端开发(1)准备篇
环境准备 NodeJs 首先需要安装NodeJs 下载地址:http://nodejs.cn/download/ 安装前端工具链 国内使用NPM需要设置国内镜像才能正常安装,之前常用的淘宝镜像说是要停止解析了,可以用这个npmmirror 中国镜像,命令如下: npm config set registry https://registry.npmmirror.com npmmirror 中国镜像
2024-12-10 · StarBlog前端开发-Vue · 约 1 分钟
讨论
共 0 条加载评论中…