我们在开发中经常遇到对方的接口请求有频率限制,比如当前接口每秒的请求不能大于100,不能大于1000,对于这样的,我们作为请求方,如何做限定?
在开发中,我们经常遇到一个问题,那就是权限!!!
可能很多人就立马会说JWT AUTH那些
其实这里说的是归属问题,并不是权限接口问题!
我个人在项目中是不使用官方那一套的,因为那一套对我来说过重了
本次要说的其实不是权限问题
而是归属问题!
就是你是否有这个对象的操作权限而不是你是否有这个接口的权限
两个不是一码事!
在PasteSpider中,虽然进行了环境等隔离,其实还是有其他问题的
首先我们来回顾下PasteSpider里面的结构
项目 —-> 服务 —-> 容器
也就是说上面的3个其实是有层级关系的,当然了如果这个容器(服务/站点)是非系统(PasteSpider)创建的,则容器是游离状态了!
而对于我们熟悉的服务器和环境,其实可以看成是同级的,并行关系
现有的里面虽然有权限模块,但是存在一些问题
问题一
要对一个对象进行选定,说白点就是CRUD控制
你会发觉每个地方都要限定,很容易遗漏!
问题二
并行的对象中会有问题,比如服务器和环境
因为是并行的关系,可以形成很多组合方式,这就对授权和配置造成混乱
甚至是接口逻辑
因为有时候比如说只配置了服务的权限,那么服务器和环境?是默认都可用还是。。。
既然上面这么多纠结点,那么有没有一个灵活的,简单的方案解决这个问题呢???
答案是有的!
之前我有一个帖子说的是关于归属查询的案例,其实用在这里非常合适!
不过不是之前帖子那样,得做一个变种!!!
之前的思路是对应的数据表加个字段表示归属
在这里就有些不合适了,所以得变一下
新引入组别概念
所有得资源可以绑定一个组别
而一个账号可以绑定多个组别
查询得时候基于多个组别查询就可以有包含关系了!
然后再角色中做点手脚,比如gro开头的才要参与过滤查询!
尘埃
尘埃
不用选,后面都是PasteApeart,他们其实是一个东西
看版本,PasteApeart.Helper 26.9.2之后,就按照基类前面的顺序了,也符合阅读顺序,当然你可以使用PasteSort再次改变他!
1.语言吧,这本身只是一个开发思想,其实其他语言也可以用,不过最优雅实现的还是.NET
2.特别适用于需要表单,表格的系统,所以哪些EMS,CRM,ERP等都合适
3.扩展,比如这个思想,你也可以应用于C/S,理论上也是可以的
4.这个主要针对的是管理端,附带UI的CRUD,也就是说对于业务代码,是没影响的!
5.可能入门会麻烦点,毕竟有接近100个PasteXXXX特性要了解,幸运的是都是Paste开头,官方的也支持,比如MaxLength,Required等!