使用过PasteSpdier的也许知道,
本系统支持给特定账号划分权限
比如允许张三对哪些项目有权限
为撒又要换新的呢?
PasteForm(ABP)框架之实现更加灵活的类似多租户的归属过滤功能,比如只能查看自己的相关数据
怎么说呢,就是引入这个模式会更彻底!
比如之前的,说到数据,也就是一个对象,我们一般说得就是CRUD了
其实还有另外一个很重要的,就是绑定!!!
比如项目的路由信息,那么设计上肯定是一个绑定表的!!!
也就是说授权会涉及非常多的地方,至少每一个都有3个地方要考虑,更不用说涉及业务的代码了!
引入多租户类似的归属功能,有一个好处,就是更加灵活和完善了!!!
升级到202506版本之后,
打开菜单,按照下图创建一个新的菜单
地址填写这个哈
pasteform/index.html?path=groupInfo
然后保存,
保存后刷新页面,就会在左侧看到这个菜单了(前提是你是使用超级账号登录的!!!)
归属,或者说组,都是一个意思,下面统一使用组来说明!
1.目前可以设置组的对象有,项目,服务,环境,服务器
2.组之间没有层级关系,这个是当时设计的失误哈,我感觉后续要改的话也是可以改的
3.1的对象绑定组,只能绑定一个!!!
4.一个账号可以绑定多个组
所以由上面组合后,可以得出,你可以为不同用户绑定不同组,实现不能的权限功能!!!
1.当前版本及之后,如果当前用户是gg开头的角色组的,则会执行归属过滤,
2.启用归属过滤后,相关的对象要设置归属信息!(项目,服务,环境,服务器)
3.归属是归属,权限是权限,是否拥有某一个接口或者菜单的权限是角色决定的,归属是限制你能看到哪些数据,而不是能否访问某一个接口
上面说了添加菜单,然后我们添加几个分组,我的大概如下
其实划分很简单,我把环境隔离开来了,也就是环境的我使用带环境字眼的组,项目就用开发的!
然后到各自的对象中配置,比如环境
上面提到的几个对象的编辑,一般在最后一个字段,可以选择组
然后对项目进行配置,比如我给贴代码文档配置的组是开发组
然后给贴代码文档这个项目的2个服务,分别配置开发前端,开发后端
我的设定是开发后端组是开发后端的
开发前端组是开发前端的
那他们都要使用的资源,比如服务器,则设定为开发组
这样比如一个后端,你要给他贴代码文档项目的后端的默认环境
你要给他绑定以下组
这个在系统管理-账号管理的后面的归属,打开后,表示你要给这个账号分配哪些组!
默认环境:是为了给他默认环境(对应的是开发环境,生产环境等)
开发组:为了给他服务器权限,项目权限
开发后端:给了给他贴代码文档项目中的后端服务的权限!
以此类推,你可以实现很丰富的归属组合!
上面配置完成后,并不会声效,因为还有一个步骤,你得为需要声效的账号配置角色,注意,角色的代码必须是gg开头的,才会启用这个规则
记得要为角色分配权限
然后找到账号,编辑,为这个账号修改角色!
这样账号重新登录就可以看到归属(对象)的信息了!
比如你只能看到某些项目,某些服务等!!