『贴代码』
项目介绍
项目精选
优选问答
【本期话题】更多
三人寄语更多
没有最好的语言,只有更合适的语言!
点赞:0
在循环里面慎重的使用await!
点赞:0
实际遇到的问题往往在那些视频课程中是不会出现的!
点赞:0
测试没问题的不一定没问题,测试有问题的那肯定有问题!
点赞:2
抛开需求谈架构是无意义的事情!
点赞:0
由于时间的问题,我们往往会给自己埋坑,等着后续或者下一任来填!
点赞:0
微信的app这个东西很鬼,有时候你刷新页面,会造成部分数据重置,部分不重置,不妨试试把对象放app.globalData里面去,会有意外惊喜!
点赞:0
需求就是系统的千年杀,相爱相杀那种!
点赞:0
设置后,UI不会变更,要不给他一个SetTimeout试试,原因自己想
点赞:0
一些奇奇怪怪的问题,一般和异步有关!
点赞:0
关于PasteSpider的权限模块变更前的思考,另类的鉴权模式,很有参考意义
尘埃 2025-06-07 756 3 1

权限还是归属?


在开发中,我们经常遇到一个问题,那就是权限!!!
可能很多人就立马会说JWT AUTH那些
其实这里说的是归属问题,并不是权限接口问题!
我个人在项目中是不使用官方那一套的,因为那一套对我来说过重了
本次要说的其实不是权限问题
而是归属问题!
就是你是否有这个对象的操作权限而不是你是否有这个接口的权限
两个不是一码事!


需求解析

在PasteSpider中,虽然进行了环境等隔离,其实还是有其他问题的
首先我们来回顾下PasteSpider里面的结构
项目 —-> 服务 —-> 容器
也就是说上面的3个其实是有层级关系的,当然了如果这个容器(服务/站点)是非系统(PasteSpider)创建的,则容器是游离状态了!
而对于我们熟悉的服务器和环境,其实可以看成是同级的,并行关系


现有的里面虽然有权限模块,但是存在一些问题

  • 问题一
    要对一个对象进行选定,说白点就是CRUD控制
    你会发觉每个地方都要限定,很容易遗漏!

  • 问题二
    并行的对象中会有问题,比如服务器和环境
    因为是并行的关系,可以形成很多组合方式,这就对授权和配置造成混乱
    甚至是接口逻辑
    因为有时候比如说只配置了服务的权限,那么服务器和环境?是默认都可用还是。。。


既然上面这么多纠结点,那么有没有一个灵活的,简单的方案解决这个问题呢???
答案是有的!

之前我有一个帖子说的是关于归属查询的案例,其实用在这里非常合适!
不过不是之前帖子那样,得做一个变种!!!

改造思路

之前的思路是对应的数据表加个字段表示归属
在这里就有些不合适了,所以得变一下

新引入组别概念
所有得资源可以绑定一个组别

而一个账号可以绑定多个组别

查询得时候基于多个组别查询就可以有包含关系了!

然后再角色中做点手脚,比如gro开头的才要参与过滤查询!

评论列表
尘埃
很多LEFT JOIN的要改成inner join 否则会造成数据残缺!也可以说是权限溢出...
尘埃
3 756 1
快捷注册
热门推荐更多
PasteSpider
;
最新动态
  • 20.****.227 正在查看 PasteSpider之项目-服务-环境介绍 !
  • 112.****.25 正在查看 PasteForm又添加一个大将,快速的帮你把你的项目升级成PasteForm类型,只需要引入一个文件即可!!! !
  • 112.****.25 正在查看 PasteForm又添加一个大将,快速的帮你把你的项目升级成PasteForm类型,只需要引入一个文件即可!!! !
  • 108.****.14 正在查看 在Docker中安装postgresql数据库! !
  • 108.****.14 正在查看 在Docker中安装postgresql数据库! !
  • 107.****.78 正在查看 记PasteSpider部署工具的Windows.IIS版本开发过程之草稿-动态表单UI(3) !
  • 107.****.78 正在查看 记PasteSpider部署工具的Windows.IIS版本开发过程之草稿-动态表单UI(3) !
  • 35.****.84 正在查看 PasteTimer软件介绍 !
  • 35.****.84 正在查看 PasteTimer软件介绍 !
  • 208.****.51 正在查看 最佳CRUD实践之联动管理端,API和小程序之实际案例改造分享(四) !
  • 208.****.51 正在查看 最佳CRUD实践之联动管理端,API和小程序之实际案例改造分享(四) !
欢迎加入QQ讨论群 296245685 [PasteSpider]介绍 [PasteForm]介绍 @2022-2023 PasteCode.cn 版权所有 ICP证 闽ICP备2021013869号-2