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

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

简述

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

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

场景

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

为什么不行:

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

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

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

页面

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 针对SpringBootVue后端分离设计培养计划管理系统的设计思路和方法,一般可遵循以下步骤: 1. 需求分析:明确系统需求和功能模块,确定系统开发目标和范围。 2. 概要设计设计系统的整体框架和模块划分,确定系统的技术架构、数据模型等。 3. 详细设计:具体设计系统各个模块的功能实现,制定接口规范和数据库设计方案。 4. 编码实现:根据设计文档进行编码实现,包括端Vue和后端SpringBoot的开发。 5. 测试验收:完成编码后进行单元测试和综合测试,保证系统的质量和稳定性。 6. 部署上线:将系统部署到服务器上,并进行线上测试,确保系统可以正常运行。 在这个过程中,需要注意后端分离设计的特点,即端和后端开发相互独立,通过接口进行数据交互。因此,需要制定清晰的接口规范,确保数据传输的正确性和安全性。同时,还需要注意端和后端技术的兼容性,确保两个端能够无缝对接。 总之,针对SpringBootVue后端分离设计培养计划管理系统的设计思路和方法,需要在需求分析、概要设计、详细设计、编码实现、测试验收和部署上线等方面进行综合考虑,以确保系统的高效、稳定、安全和可维护性。 ### 回答2: Spring Boot和Vue后端分离设计是一种常用的Web应用设计模式,在设计培养计划管理系统时,可以采用以下思路和方法: 1. 后端分离后端分离是指端使用Vue进行页面渲染,后端使用Spring Boot提供接口服务。通过这种设计模式,可以有效地解耦后端逻辑,提高开发效率和系统性能。 2. 定义数据模型:根据培养计划管理系统的需求,定义必要的数据模型。这些模型可以包括学生、课程、考试等信息。使用Java对象模型或者数据库表结构来表示这些模型。 3. 设计接口:基于后端分离设计思路,使用Spring Boot设计实现RESTful接口。这些接口可以包括学生信息查询、课程安排、考试成绩录入等功能。通过严格定义接口规范,端可以通过调用这些接口获取所需的数据。 4. 端页面设计:使用Vue进行端页面的设计和开发。根据系统需求,设计学生信息展示、课程安排、考试成绩录入等页面。使用Vue提供的组件和工具,实现页面的交互和数据展示。 5. 数据交互:端通过调用后端提供的接口获取所需数据。使用Vue的Ajax、Axios等工具,发送HTTP请求并解析返回的数据。端可以根据需要进行数据筛选、排序和展示。 6. 系统安全:为了保障系统的安全性,可以在后端使用Spring Security等框架进行权限控制和身份认证。通过定义角色和权限,限制用户操作和访问敏感数据。 7. 测试和部署:在开发完成后,进行系统测试和调试。可以使用JUnit等测试框架对后端接口进行单元测试,使用Vue提供的测试工具对端页面进行测试。最后,将后端部署到服务器上,并将端页面打包部署到Web服务器上。 通过采用Spring Boot和Vue后端分离设计,可以实现系统开发的高效和灵活性。后端分离设计模式可以有效解耦后端逻辑,提高系统性能和扩展性。同时,Spring Boot和Vue作为流行的开发框架,拥有庞大的社区支持和丰富的开发资源,可以大大提升系统开发的效率和质量。 ### 回答3: SpringBoot和Vue是目非常流行的后端分离开发框架。设计和培养一个计划管理系统需要以下步骤和方法。 1.需求分析:首先,要清楚定义计划管理系统的功能和需求,包括用户管理、计划创建、查看和修改计划、日历展示等功能。 2.数据库设计:根据需求设计数据库模型,确定需要的表和字段,并建立相应的关系。 3.SpringBoot后端开发:使用SpringBoot搭建后端开发环境,根据需求编写相应的控制器、服务和数据访问层。使用Spring Security实现用户认证和授权。 4.Vue端开发:使用Vue框架搭建端开发环境,设计和开发用户界面。使用Vue Router实现页面导航和路由跳转。使用Axios进行和后端的数据交互。 5.后端接口设计:定义后端之间的接口规范,包括请求方式、参数和返回结果的格式。使用JSON进行数据交互。 6.后端联调:后端开发完成后,进行联调测试,确保后端的数据交互和功能实现的正确性。 7.部署和上线:将后端代码打包成jar包或war包,将端代码打包成静态资源,部署到服务器上,配置好相应的环境和数据库信息,使系统能在服务器上运行。 以上是一般的设计思路和方法,当然具体实现还有很多细节需要考虑,比如数据校验、异常处理、权限管理等等。一个好的计划管理系统应该具备良好的用户体验和响应速度,因此在设计和开发过程中需要注重系统的性能优化。同时,定期进行系统的维护和更新,修复漏洞和改进功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值