若依框架——前后端分离版

若依是一款基于SpringBoot的快速开发平台,包含用户、角色、菜单等权限管理,支持字典管理,提供代码生成器,采用前后端分离,集成多种安全框架,适合企业级应用开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、若依是什么

二、 为什么使用若依

 三、运行若依框架

四、若依的权限系统

1、菜单权限

(1)创建菜单

(2)创建角色分配权限

(3)创建用户

 2、按钮权限

 3、接口权限

4、数据权限

 四、其他系统管理

 1、字典管理

(1)添加字典类型

(2)字典数值插入


一、若依是什么

        若依(RuoYi)是一款基于 Spring Boot、Spring Security、MyBatis-plus、Vue、Element-UI 的快速开发平台,是一个全功能权限系统,采用前后端分离的方式进行开发。若依包含了许多常用的功能,例如用户管理、角色管理、菜单管理、部门管理、字典管理、定时任务等等,还提供了代码生成器、日志管理、在线用户管理等扩展功能,可以快速搭建企业级应用。

二、 为什么使用若依

  1. 基于Spring Boot:若依基于Spring Boot框架,使用了Spring Boot的自动配置和约定大于配置的思想,简化了项目配置和开发流程,降低了开发成本。
  2. 可视化代码生成:若依提供了基于MyBatis Plus和Beetl的代码生成器,能够根据数据库表结构自动生成实体类、Mapper接口、Service和Controller等代码,提高了开发效率和代码质量。
  3. 丰富的组件和插件:若依集成了许多流行的开源组件和插件,如Swagger、Quartz、Shiro、Redis、Elasticsearch等,可以快速集成这些组件,并且支持自定义扩展。
  4. 前后端分离:若依支持前后端分离开发,提供了前端代码生成器和前端框架Vue、React、Angular等集成,支持多种前端框架。
  5. 安全性:若依集成了Spring Security和Shiro等安全框架,提供了全面的安全控制和认证授权功能,可以保证应用程序的安全性。

        综合以上几个方面的优势,若依能够快速搭建起一套高效、安全、易维护的企业级应用程序,符合现代化企业的开发需求。

 下图是若依框架有的功能:

 三、运行若依框架

        使用Git从https://gitee.com/y_project/RuoYi-Vue克隆下源码,用idea打开

 

        根据配置文件application-druid.yml创建一个叫ry-vue的数据库,或者将ry-vue改成你创建数据库的名字。运行sql文件夹下的两个sql文件。

 启动自己的Redis,将配置文件application.yml中的Redis改成自己的。

然后找到RuoYiApplication启动后端代码。

在下面找到Terminal,先进入ruoyi-ui文件夹,然后启动前端代码npm run dev。

若是第一次启动,先npm install下载资源。

四、若依的权限系统

若依的权限系统大约分为一下几种:

  1. 菜单权限:用户登录系统后能看到那些菜单。
  2. 按钮权限:用户在一个页面上能看到哪些按钮,比如新增、删除等。
  3. 接口权限:用户带着认证信息请求后端接口,是否有权限访问,该接口与前端页面上的按钮一一对应。
  4. 数据权限:用户有权限访问后端某个接口,但是不同的用户相同的接口相同的入参,根据权限大小不同,返回的结果应当不一样——权限大的能够看到的数据更多。

1、菜单权限

先创建菜单,然后给用户分配权限

(1)创建菜单

上级菜单:其实就是父级菜单,对应数据库表字段中的parent_id,如果没有父级菜单就默认为0

菜单名称:显示在左侧的菜单名

显示排序:自上而下显示的顺序

路由地址:点击此菜单或者此目录跳转的路径(根据自己的需要来,不要乱来)

是否外链:是否需要跳转至http(s)下的路由地址,一般情况下不需要选,除非你真的想要跳转外站地址(根据自己的需要来)

显示状态:隐藏就是不会显示菜单在左侧,但是任然可以跳转菜单及菜单下的路由地址

菜单状态:这里的状态禁用了除了不会显示在左侧菜单之外,还不能跳转到该菜单及菜单下的路由地址

 组件路径:前端代码中组件存放的地址,即在ruoyi-ui下src目录下的view文件下的地址(注意:如果指定路径与实际路径不相符,就会报404错误)

权限字符:控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasPermi('system:user:list')`)这里的权限字符可以定义在菜单上也能定义在按钮上用来细化权限

路由参数:访问路由时需要携带的参数,这里需要注意是,需要写成对象并以键值对的形式保存,如{name:"zs",sex:"男"}

是否缓存:这里需要注意的是开启缓存的前提是组件的“name”必须与路由保持一致,因为若依是使用vue的一个抽象组件库keep-alive来处理缓存的

 刷新前端页面后,在左侧导航栏就会显示。

(2)创建角色分配权限

在菜单权限那里只选择员工管理菜单。

(3)创建用户

 登录新建的用户,然后在菜单栏只可以看到员工管理菜单。

 2、按钮权限

        新增按钮与新增菜单差不多,但是不建议在此处新增按钮,因为在代码生成时,所有的按钮都自动生成了。

        而按钮权限修改与菜单权限相似,在角色那里将有的权限按钮选中,没有权限的按钮取消选中。

取消了删除按钮权限,在该角色的用户的员工管理界面,删除按钮就没有了。

 

 3、接口权限

        接口权限和前端的按钮权限一一对应。为的是防止用户绕过按钮直接请求后端接口获取数据。在若依Vue系统中,是使用SpringSecurity的注解@PreAuthorize实现的。

4、数据权限

        数据权限实现的关键在于com.ruoyi.framework.aspectj.DataScopeAspect类。该类是一个切面类,凡是加上com.ruoyi.common.annotation.DataScope注解的方法,在执行的时候都会被它拦截。

         该切面定义了五种权限范围

Name

code

desc

DATA_SCOPE_ALL

1

全部数据权限

DATA_SCOPE_CUSTOM

2

自定数据权限

DATA_SCOPE_DEPT

3

部门数据权限

DATA_SCOPE_DEPT_AND_CHILD

4

部门及以下数据权限

DATA_SCOPE_SELF

5

仅本人数据权限

        该切面的核心逻辑是“SQL拼接”。方法执行之前,会给参数的一个params属性添加一个dataScope键值对,key为“dataScope”,值为AND(“+sqlString.substring(4)+”)”样式的一段SQL,这段SQL会根据当前用户所在的部门以及当前用户角色的权限范围发生变化。

 四、其他系统管理

 1、字典管理

(1)添加字典类型

字典名称:其实就是这个字典的标签,如用户性别

字典类型:这里需要注意的是在定义类型的时候不能乱来,这里定义的类型不能与已经有的类型重复,否则会报冲突异常,并且在定义类型的时候要有一定的规范,如果你不想定义的太复杂,这里建议使用(表名+字段) ,如用户性别sys_user表中的性别sex,写成sys_user_sex就行了

(2)字典数值插入

点击要插入的字典类型,然后点击新增按钮

 

 数据标签:显示出来内容,如用户性别中的“男”

数据键值:保存在数据库中的int值,如1

排序顺序:显示的先后顺序

在基于前后端分离的商城管理系统中,可以使用若依框架来进行开发。若依框架是一个基于Spring Boot和Vue.js的前后端分离快速开发平台,它提供了一套完整的开发框架和工具集,可以帮助开发人员快速构建商城管理系统。 以下是使用若依框架进行前后端分离商城管理系统开发的步骤: 1. 前端开发: - 使用Vue.js作为前端框架进行开发,它提供了一套简洁灵活的前端开发工具和组件库。 - 使用Element UI作为UI组件库,它提供了丰富的UI组件和样式,方便开发人员进行界面设计和开发。 - 根据商城管理系统的需求,设计和开发前端页面,包括商品管理、订单管理、用户管理等功能模块。 2. 后端开发: - 使用Spring Boot作为后端框架进行开发,它提供了一套简化的开发工具和开发流程,可以快速搭建后端服务。 - 使用MyBatis作为持久层框架,它提供了方便的数据库操作和数据映射功能。 - 根据商城管理系统的需求,设计和开发后端接口,包括商品管理接口、订单管理接口、用户管理接口等。 3. 数据库设计: - 根据商城管理系统的需求,设计数据库表结构,包括商品表、订单表、用户表等。 - 使用MySQL等关系型数据库进行数据存储和管理。 4. 前后端交互: - 使用RESTful API进行前后端数据交互,前端通过发送HTTP请求到后端接口获取数据或提交数据。 - 后端接口根据前端请求进行相应的处理,返回符合前端需求的数据或状态码。 5. 安全性和权限控制: - 使用Spring Security进行安全性和权限控制,确保商城管理系统的数据和功能只能被授权的用户访问和操作。 - 根据商城管理系统的需求,设计和实现用户认证和授权的功能。 综上所述,使用若依框架进行前后端分离商城管理系统的开发,可以提高开发效率和系统稳定性,同时满足商城管理系统的需求和功能。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值