前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >关于门户的前端权限控制

关于门户的前端权限控制

作者头像
树酱
发布于 2020-12-01 02:15:08
发布于 2020-12-01 02:15:08
1.1K0
举报
文章被收录于专栏:前端那些趣事前端那些趣事

前沿:我所理解的门户Portal就是一个入口, 可快速整合应用入口,用来统一账号管理、统一认证登录,打破信息孤岛等,做统一的权限管理,也可以实现单点登录 SSO。早期的MVC时代,web应用其实就有通过权限去控制页面、菜单、按钮等的显示和隐藏,只不过呈现方式不同,大多以php和jsp等为主,随着前后端分离后,前端也成了权限控制的扛把子,主要是从以下这几个角度去实现,路由层面、视图层面以及接口层面

1.路由层面

一般SPA应用结合vue-router和vuex实现完成的一套路由体系,主要两种方式,一种是通过vue-router addRoutes 方法注入路由实现控制,另外一个是直接通过vue-router beforeEach钩子限制路由跳转

1.1 router.beforeEach()

beforeEach钩子函数就是在路由跳转前执行的,通过注册 router.beforeEach 钩子对路由的每次跳转进行管理,每次跳转都进行检查,如果目标路由不存再于基本路由和当前用户的用户路由中,则取消跳转,转为跳转错误页或登录页面

  • 在路由定义时添加meta的一个属性,来控制判断该页面是否需要登录权限
1.2 动态路由 (DynamicRoutes)

用来实现页面访问权限,动态路由通过router.addRoutes() ,来只挂载当前用户拥有权限的路由,如果用户直接访问未授权的路由,则会进入404页面。但是前提是需要用户登录后获取路由权限,一般动态挂载是在router.beforeEach处理的,下面我们看具体实现

  • 定义好需要动态挂载的路由,区分是分为初始路由和根据role角色来动态挂载的“用户路由”,比如constantRoutesasyncRoutes
  • router.beforeEach 添加 router.addRoutes 事件 文档链接
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
关于门户的前端权限管理
通过递归的方式去过滤去用户的路由权限,通过router.addRoutes()动态添加所有符合权限的路由,当然这种方式需要依赖后端。对于不同角色的用户,是由后端将路由列表告诉给前端注册
徐小夕
2021/06/08
1.7K0
关于门户的前端权限管理
单页应用优化--权限
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
奋飛
2019/08/15
1.6K0
SaaS-前端权限控制
基于前后端分离的开发模式中,权限控制分为前端页面可见性权限与后端API接口可访问行权限。前端的权限控制主要围绕在菜单是否可见,以及菜单中按钮是否可见两方面展开的。
cwl_java
2020/01/02
8210
vue项目管理_vue适合做管理系统吗
后台页面的权限验证与安全性是非常重要的,可以说是一个后台项目一开始就必须考虑和搭建的基础核心功能 我们前端所要做的是: 不同的权限对应着不同的路由,同时侧边栏也需要根据不同的权限 , 异步生成.
全栈程序员站长
2022/10/03
1.8K0
6 种 Vue 权限路由实现方式总结(最全)
已经登录 (已经取得后台返回的用户的权限信息(角色之类的)),则判断当前要跳转的路由,用户是否有权限访问 (根据路由名称到全部路由里找到对应的路由,判断用户是否具备路由上标注的权限信息 (比如上面的roles : [ 'admin', 'editor' ]))。
夜尽天明
2019/06/20
5.7K0
Vue3 中如何加载动态菜单?
松哥最近正在录制 TienChin 项目视频~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。 ---- 松哥之前写了两篇文章和大家分享了 TienChin 项目中的菜单数据问题,还没看过的小伙伴请戳这里: Vue 里,多级菜单要如何设计才显得专业? TienChin 项目动态菜单接口分析 这两篇文章主要是和大家说明了后端如何根据当前登录用户,动态生成一个菜单 JSON。 那么
江南一点雨
2022/07/20
2.3K0
Vue3 中如何加载动态菜单?
浅析 vue-router 源码和动态路由权限分配
? 这是第 72 篇不掺水的原创,想要了解更多,请戳上方蓝色字体:政采云前端团队 关注我们吧~ 本文首发于政采云前端团队博客:浅析 vue-router 源码和动态路由权限分配 https://ww
政采云前端团队
2020/10/26
4.7K0
浅析 vue-router 源码和动态路由权限分配
面试官:Vue要做权限管理该怎么做?控制到按钮级别的权限怎么做?
接口权限目前一般采用jwt的形式来验证,没有通过的话一般返回401,跳转到登录页面重新进行登录
@超人
2021/02/26
20K0
面试官:Vue要做权限管理该怎么做?控制到按钮级别的权限怎么做?
Vue 实现动态路由及登录&404页面跳转控制&页面刷新空白解决方案
import NotFound from "@/views/Error/404";
授客
2020/02/18
3.2K0
Vue router 应用问题记录
beforeRouteEnter/beforeRouteUpdate/beforeRouteLeave
luciozhang
2023/04/22
7160
vue后台管理之动态加载路由
我们的通用的后台管理系统中,我们会根据权限的粗细不同,会对每个角色每个权限每个资源进行控制。同样的我们也需要实现一个这样的功能。 这篇文章我将主要讲vue端的实现,关于后台接口我就不会涉及,当我接触的时候我们的后台接口是springcloud实现。
yukong
2018/08/08
5K1
vue后台管理之动态加载路由
前端一面经典vue面试题总结
我们可以在钩子函数 created、beforeMount、mounted 中进行调用,因为在这三个钩子函数中,data 已经创建,可以将服务端端返回的数据进行赋值。
bb_xiaxia1998
2022/11/08
1.2K0
vuejs单页应用的权限管理实践
在众多的B端应用中,简单如小型企业的管理后台,还是大型的CMS,CRM系统,权限管理都是一个重中之重的需求,过往的web应用大多采取服务端模板+服务端路由的模式,权限管理自然也由服务端进行控制和过滤.但是在前后端分离的大潮下,如果采用单页应用开发模式的话,前端也无可避免要配合服务端共同进行权限管理,接下来会以vuejs开发单页应用为例,给出一些尝试方案,希望也能给大家提供一些思路.注意采用nodejs作为中间层的前后端分离不在此文讨论范围.
funkyLover
2019/01/31
2.4K0
vuejs单页应用的权限管理实践
权限管理与Shiro入门(二)
vue路由提供的钩子函数(beforeEach)主要用来在加载之前拦截导航,让它完成跳转或取消。可以在路由钩子函数中进行校验是否对某个路由具有访问权限
用户1289394
2023/09/29
1750
权限管理与Shiro入门(二)
vue-element-admin整合SpringBoot实现动态渲染基于角色的菜单资源踩坑录(前后端整合篇)
这篇文章自己准备了好几个周末,如果不是中间踩了太多的坑的话上上的周末就应该发表了,实在是因为踩坑太多而自己也比较执拗,坚持要写出一篇解决掉遇到的99%以上的Bug,能经得起读者实践验证的项目实战文章,拖到今天才发布。笔者一直坚持文章质量重于数量,内容足够好的文章才会让更多的读者传阅。
用户3587585
2021/09/08
1.2K0
vue-element-admin整合SpringBoot实现动态渲染基于角色的菜单资源踩坑录(前后端整合篇)
Vue | vue-router基础
2.页面中router-link to:"/path" (path 要写完整路径)
Java小技巧
2022/05/23
1.5K0
对权限管理的一些理解
后台系统几乎都会涉及权限管理,实现的方式有蛮多的,只是前端只能做样子货,最终的权限管理还是得后台做。今天说说自己认知的权限管理的几个方式。
wade
2020/09/04
7670
【Vuejs】212- 如何优雅的在 vue 中添加权限控制
本文转载自掘金专栏,作者:邪瓶张起灵https://juejin.im/post/5c7bae3ff265da2db27950f3
pingan8787
2019/07/23
3.6K0
【Vuejs】212- 如何优雅的在 vue 中添加权限控制
滴滴前端必会vue面试题汇总_2023-05-19
watch 本质上是为每个监听属性 setter 创建了一个 watcher,当被监听的属性更新时,调用传入的回调函数。常见的配置选项有 deep 和 immediate,对应原理如下
用户10358241
2023/05/19
9220
vue面试必须掌握的点
虽然文档不建议在应用中直接使用 mixin,但是如果不滥用的话也是很有帮助的,比如可以全局混入封装好的 ajax 或者一些工具函数等等。
bb_xiaxia1998
2022/09/24
1.9K0
推荐阅读
相关推荐
关于门户的前端权限管理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档