《基于Vite+React构建在线Excel.docx》由会员分享,可在线阅读,更多相关《基于Vite+React构建在线Excel.docx(22页珍藏版)》请在第一文库网上搜索。
1、所以,vhr中的权限,从设计上来说,粒度并不算粗,也是细粒度的,只不过跟菜单表放在了一起,小伙伴们可能感觉有点粗。但是,菜单表是可以继续细化的,我们可以继续在菜单表中添加新的记录,新记录的hidden字段为true,则菜单是隐臧的,就单纯只是细化权限而已。如下图可以继续添加新的访问规则,只不过把enabled字段设置为false即可(这样菜单就不会显示出来了,单纯就只是权限的配置)。idurlpathcomponent4moconCskoepAlivrequreAuth(arontld1/vUUL所有i t Bi fn vuNULLNUt2/homeHomefilwfa fusercrdoNU
2、LL11 3/homeHome人事詈埋fa WddfEcrdoNULL11 C4/homeHome鼾资理fa fa-moneyNULL11 5/homeHome统计理fa fa-bar-chartNULL11 C6/homeHome系统理fa fa-windowsNULL11 C7employeeba sic eempbasicEmpBask:基本费NNULLNULL12 C8employeeadvancedempadvEmpAdv高级费我NULLi512 9personnelemperempPertmp员工费H w1 ,J 1310personneecprecPerEc员工奖您NULLNUL
3、L13 C11personltralrp加ainPerTrain员工培训71II 1NULL13 C12prsonnelsalarypersalaryPerSalary员工幕NULLNULL13 arontld1/vUUL所有i t Bi fn vuNULLNUt2/homeHomefilwfa fusercrdoNULL11 3/homeHome人事詈埋fa WddfEcrdoNULL11 C4/homeHome鼾资理fa fa-moneyNULL11 5/homeHome统计理fa fa-bar-chartNULL11 C6/homeHome系统理fa fa-windowsNULL11 C
4、7employeeba sic eempbasicEmpBask:基本费NNULLNULL12 C8employeeadvancedempadvEmpAdv高级费我NULLi512 9personnelemperempPertmp员工费H w1 ,J 1310personneecprecPerEc员工奖您NULLNULL13 C11personltralrp加ainPerTrain员工培训71II 1NULL13 C12prsonnelsalarypersalaryPerSalary员工幕NULLNULL13 所以vhr的权限设计是0K的。当你理解了 vhr中的权限设计,再来看TienChin
5、这个项目,或者说看RuoYi-Vue这个脚手架,就会发现非常easy 了。2.权限表首先我们来看看资源表的定义,也就是CREATE TA13LE、sgs_M。八、(、恒e八bigint(2O) NOT NULL AUTCUNCREMENT COMMENT 菜单 ID,varchar(SO) COLLATE utfvb4jtcode_ci NOT NULL COMMENT,菜单名称sremrks varckar(SOO) COLLATE utKvh4_uiicod&_ci DEFAULT COMMENT 备注IPRIMARY KEY八d)ENGNE=I八八oDB AUT0NCREMENT=:3O
6、54 DEFAULT CHARSET=utf8kvb4COLLATE=iAtf8b4_uicode_ci COMMENT、菜单权限表,;其实这里很多字段都和我们vhr项目项目很相似,我也就不重复啰嗦了,我这里主要和小伙伴们说一个字段,那就是八小印c。ge表示一个菜单字段的类型,一个菜单有三种类型,分别是目录(M)、菜单(C)以及按钮(F)。这里所说的目录,相当于我们在vhr中所说的一级菜单,菜单相当于我们在vhr中所说的二级菜单。当用户从前端登录成功后,要去动态加载的菜单的时候,就查询M和C类型的数据即可,F类型的数据不是菜单项,查询的时候直接过滤掉即可,通过3g2这个字段可以轻松的过滤掉F类
7、型的数据。小伙伴们想想,F类型的数据过滤掉之后,剩下的数据不就是一级菜单和二级菜单了,那不就和vhr又一样了么!最后再来说说F类型的,F类型的就是按钮级别的权限了,前端每一个按钮的执行,需要哪些权限,现在就在这里定义好。举一个简单的例子大家来看下:mnu.rv*mePftreni.jordtf.umpathcomponentquery s.fraf ts.cachwnu.tygs,城。statusprmK8crA.byCfMte.t43 JKftA111t410M000042022 0418用户11userfyslemjMrndeM10C00syitefn:user:l4tuserdmh202
8、281003用户修改100310F00,9n力202204当需要展示用户管理这个菜单的时候,需要sgstcmsW这个权限,当需要点PRIMARY KEY八d)ENGNE=I八八oDB AUT0NCREMENT=:3O54 DEFAULT CHARSET=utf8kvb4COLLATE=iAtf8b4_uicode_ci COMMENT、菜单权限表,;其实这里很多字段都和我们vhr项目项目很相似,我也就不重复啰嗦了,我这里主要和小伙伴们说一个字段,那就是八小印c。ge表示一个菜单字段的类型,一个菜单有三种类型,分别是目录(M)、菜单(C)以及按钮(F)。这里所说的目录,相当于我们在vhr中所说的
9、一级菜单,菜单相当于我们在vhr中所说的二级菜单。当用户从前端登录成功后,要去动态加载的菜单的时候,就查询M和C类型的数据即可,F类型的数据不是菜单项,查询的时候直接过滤掉即可,通过3g2这个字段可以轻松的过滤掉F类型的数据。小伙伴们想想,F类型的数据过滤掉之后,剩下的数据不就是一级菜单和二级菜单了,那不就和vhr又一样了么!最后再来说说F类型的,F类型的就是按钮级别的权限了,前端每一个按钮的执行,需要哪些权限,现在就在这里定义好。举一个简单的例子大家来看下:mnu.rv*mePftreni.jordtf.umpathcomponentquery s.fraf ts.cachwnu.tygs,
10、城。statusprmK8crA.byCfMte.t43 JKftA111t410M000042022 0418用户11userfyslemjMrndeM10C00syitefn:user:l4tuserdmh202281003用户修改100310F00,9n力202204当需要展示用户管理这个菜单的时候,需要sgstcmsW这个权限,当需要点PRIMARY KEY八d)ENGNE=I八八oDB AUT0NCREMENT=:3O54 DEFAULT CHARSET=utf8kvb4COLLATE=iAtf8b4_uicode_ci COMMENT、菜单权限表,;其实这里很多字段都和我们vhr项
11、目项目很相似,我也就不重复啰嗦了,我这里主要和小伙伴们说一个字段,那就是八小印c。ge表示一个菜单字段的类型,一个菜单有三种类型,分别是目录(M)、菜单(C)以及按钮(F)。这里所说的目录,相当于我们在vhr中所说的一级菜单,菜单相当于我们在vhr中所说的二级菜单。当用户从前端登录成功后,要去动态加载的菜单的时候,就查询M和C类型的数据即可,F类型的数据不是菜单项,查询的时候直接过滤掉即可,通过3g2这个字段可以轻松的过滤掉F类型的数据。小伙伴们想想,F类型的数据过滤掉之后,剩下的数据不就是一级菜单和二级菜单了,那不就和vhr又一样了么!最后再来说说F类型的,F类型的就是按钮级别的权限了,前端每一个按钮的执行,需要哪些权限,现在就在这里定义好。举一个简单的例子大家来看下:mnu.rv*mePftreni.jordtf.umpathcomponentquery s.fraf ts.cachwnu.tygs,城。statusprmK8crA.byCfM