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

目录

一、若依是什么

二、 为什么使用若依

 三、运行若依框架

四、若依的权限系统

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

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

  • 29
    点赞
  • 190
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
山东省基本农田shp文件是指将山东省内的基本农田信息以shp文件的形式进行存储和传输的文件。基本农田是指国家规划确定的农业用地保护的核心区域,具有重要的农业生产和生态功能。 这个shp文件包含了关于山东省基本农田的地理空间数据,如基本农田的边界、面积、位置等信息。它采用矢量数据格式,可以使用GIS软件进行打开和处理。 有了这个shp文件,可以进行一系列的农田规划和管理工作。首先,可以利用shp文件的空间属性,对基本农田进行空间分析和统计,统计山东省基本农田的总面积、分布情况等。根据这些数据,可以制定农田保护政策,合理规划农业用地,保护耕地资源。 其次,基于该shp文件,可以进行土地评价和农田质量分析,了解基本农田的土壤质量、水资源状况、适宜农作物类型等信息,以指导农业生产和土地管理。还可以结合其他数据,如气候数据和经济数据等,进行农田利用和农产品供给的研究与决策。 此外,该shp文件还可以与其它地理信息数据进行叠加分析,如交通网络数据、地形数据等,从而评估基本农田的承载能力、利用潜力及其与其他领域的关联性。 总之,山东省基本农田shp文件是一份具有重要参考价值的数据文件,对于山东省农田资源的保护、合理利用以及农业生产的规划与管理都起到了重要作用。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值