前、后端分离权限控制设计和实现思路

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

# 简述

近几年随着react、angular、vue等前端框架兴起,前后端分离的架构迅速流行。但同时权限控制也带来了问题。

网上很多前、后端分离权限仅仅都仅仅在描述前端权限控制、且是较简单、固定的角色场景,满足不了我们用户、角色都是动态的场景。且仅仅前端进行权限控制并不是真正意义的权限控制,它只是减少页面结构暴露、增强用户体验的功效。

# 场景

系统为后台管理系统,包含了用户创建、用户登录、用户管理自己的资源。用户经常会新增、删除,也可以根据工作情况随时调整页面、功能权限,所以采用用户-角色-页面权限方案实现。

为什么不行:

  1. 根据前端路由表显示左侧菜单,但vue-router的路由表主要为了组织代码,经常我们所需要的菜单并非一致。比如某个前端路由a子路由有b、c,但菜单中我们想要直接一级菜单就显示b、c或者将b、c各放到其他菜单下。所以这种非常不灵活。

  2. 一个路由是菜单还是页面?是否需要显示到菜单中?是否验证权限?哪个角色或者用户拥有权限?这些都需要写到前端路由里面,一旦有任何权限变动就要大量调整代码。

  3. 如果权限写死在前端,那么角色或者用户必须已知且固定不变。比如页面1的meta增加属性标识可访问的角色为a和b

# 页面

一个页面即一个前端页面,比如首页、用户管理页、资源管理页等。

基本思路为:前端路由保持不变,数据库存储菜单结构、页面权限控制(可以直接做成一个页面来方便管理)等,前端根据数据库中的菜单结构和权限信息来渲染一个菜单出来并只显示其有权限的菜单,并在路由守卫中进行权限控制防止手动输入path越权打开页面

1、前端路由(vue-router)中需要正常创建页面及路由。

2、数据库存储菜单结构和页面权限信息,

  1. 菜单(目录、非内容页)可以自己创建,不必要求前端路由中有,因为这是指菜单的可视化的组织结构

若依前后端分离框架学习-5:权限管理     上一章自己创建了一个模块,我们注意到端代码中对于按钮有v-hasPermi="[‘xxx:testxxx:add’]“这种代码。服务端有@PreAuthorize(”@ss.hasPermi(‘xxx:testxxx:add’)")这种代码。这是为了分别在服务端限制用户进行非权限操作的。接下来,我们举个例子进行具体分析。     我们来看“新增”按钮对应的端代码: <el-col :span="1.5" 阅读详情

相关推荐

educoder数字逻辑实训:寄存器设计与应用(Logisim)

第1关:基本寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位基本寄存器,要求上升沿触发,具有异步复位功能。 第2关:移位寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位右移移位寄存器,要求上升沿触发,具有异步复位功能。 第3关:循环移位寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位循环右移移位寄存器,要求上升沿触发,具有异步复位功能以及并行数据同步加载功能。 第4关:并行..

qq_52209002的博客 1万+

前后端分离架构,超全面详解~

此文通俗易懂,全面讲解前后端分离架构核心思想与作用,对学习微服务、开发企业项目大有裨益,建议收藏细品,好好领悟!~一、简介前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+...

独行侠梦的博客 2万+

FDTD远场分析实战:从monitor数据到3D远场可视化的完整流程

本文详细介绍了FDTD远场分析的完整流程,从monitor采集的近场数据出发,通过近场-远场变换(NFFFT)生成3D远场可视化结果。文章重点解析了远场转换的物理原理、关键参数设置,并提供了构建稳健数据处理流水线及高级可视化(如3D辐射方向图)的实战脚本与技巧,适用于天线设计与光学器件分析。

weixin_29063035的博客 189

后端修改数据库_后端分离权限控制设计实现思路

作者:薛定谔的猫www.yuque.com/zhanghaofei/blog/xrpz9p简述近几年随着react、angular、vue等端框架兴起,前后端分离架构迅速流行。但同时权限控制也带来了问题。网上很多后端分离权限仅仅都仅仅在描述权限控制、且是较简单、固定的角色场景,满足不了我们用户、角色都是动态的场景。且仅仅端进行权限控制并不是真正意义的权限控制,它只是减少页面...

weixin_39713814的博客 1243

前后端分离权限控制设计实现思路

点击▲关注 “爪哇笔记” 给公众号标星置顶更多精彩 第一时间直达言随着移动互联网的发展,开发领域也越来越广,端早已经告别了切图的时代,迎来了规模化,工程化的大端时代。近几年...

不是太高的手的专栏 4616

前后端分离思想理解

引出问题 1.前后端分离是什么 2为何采用前后端分离 通俗官方一点的讲: 前后端分离就是将一个单体应用拆分成两个独立的应用:端应用后端应用,以JSON格式进行数据交互 用软件设计思想来看: 高内聚低耦合的设计思想,前后端分离最直观体现就是降低耦合度,通过统一接口保证内聚。 用spring IOC思想来看: 控制反转,普通的不分离项目固然可行,但大部分控制权都在后端代码;分权制衡就是前后端分离后端只传数据。 市场角度看: 前后端分离有利于专长的发挥,各尽其职,提高配合度,使花费的精力达到最大收益效果。

TinkerBell的学习笔记 468

Spring Cloud + Vue前后端分离-第12章 通用权限设计

通用权限解决方案 资源配置管理 资源表的设计与代码生成 资源树的保存、显示 角色权限管理基本功能 增加角色资源关联功能 关联资源时,加载资源树 保存角色资源关联表,加载数据,并自动勾选树节点 增加角色用户关联功能 关联用户时,加载所有用户,弹出角色用户关联模态框,保存角色用户关联表 打开用户模态框时,加载角色用户关联数据 登录时获取资源权限 读取当登录用户所属的角色所有资源 权限拦截功能开发 端界面权限拦截,完成用户管理,完成所有界面控制 路由权限判断 后端接口权限判断

qq_52963857的博客 1267

SpringBoot+Security+Vue前后端分离开发权限管理系统

适用人群所有的IT从业者,尤其适合快速掌握新技术,快速增长工作经验人群,对教育公平,教育公益,教育爱心公益人士课程概述该互联网实战项目是基于 Spring Boot 2+ SpringSecurity5+Element UI+Vue Admin Template+蚂蚁可视化AntV 等技术栈开发的项目,采用分布式,多模块,前后端分离开发。包括图形展示、权限管理、用户管理等功能。【后端技术】技术说明Spring Boot2MVC框架 开发的一站式解决方案Spring Security5 认证授权框架MyBatisPlus3.3.1 基于 MyBatis 框架的快速研发框架MyBatisCode工具生成 MyBatis 相关代码Jackson提供了处理 JSON 数据的工具Lombok简化对象封装工具 Druid   数据库连接池 【端技术】Vue       互联网最火的端框架Vue Router路由框架Vuex全局状态管理框架Axios端 HTTP 框架Element UI端 UI 框架Vue Element Admin端模板Antv  蚂蚁金服可视化技术,阿里巴巴可视化技术,天猫,淘宝,支付宝,花呗均使用AntV【开发工具】IntelliJ IDEA开发 IDESQLyog数据库连接客户端PostmanHTTP 请求工具【开发环境】工具版本JDK1.8MySQL5.7

聊聊前后端分离接口规范

1. 言 随着互联网的高速发展,端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。 然而带来的另一个问题:前后端的对接界面双方却关注甚少,没有任何接口约定规范情况下各自干各自的,导致我们在产品项目开发过程中,前后端的接口联调对接工作量占比在30%-50%左右,甚...

Java笔记虾 1838

前后端分离,对后端接口设计的思考

背景 一线城市很多公司都实现前后端分离开发模式。除去所谓的Restful接口设计模式,如何来设计接口呢? 基本信息:项目有中文版英文版,也有稳定区创新区,这里的稳定区创新区只是一个业务逻辑上的一个概念。 需求:我们需要查询项目,而条件是中文还是英文,稳定区还是创新区。 这里主要分析是通过接口类别来隔离业务逻辑,还是通过一个接口的参数不同来区分业务类别呢? 过程 思路一:后台接口设计...

sanding的博客 1458

权限系统(前后端分离

以下是总结的笔记。仅供参考。:本课程采用主流的技术栈实现,Mysq|数据库,SpringBoot2+Mybatis Plus后端,redis缓存,安全框架SpringSecurity,Vue3.2+Element Plus实现后台管理。基于JWT技术实现前后端分离。项目开发同时采用MybatisX插件生成代码,提高开发效率。基于SpringSecurity实现了登录验证鉴权功能,用户管理,角色管理,权限管理。

qq_44774198的博客 1200

【最新版】 ISO 15964 2025 无人机系统探测与规避系统.rar

【最新版】 ISO 15964 2025 无人机系统探测与规避系统.rar

上一篇: 架构师的成长必经之路
下一篇: 史上最全面的Java高级学习体系(没有之一)
Java小果
博客等级 码龄6年 333粉丝 402原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值