找回密码
 立即注册

QQ登录

只需一步,快速开始

qtcxc 活字格认证

高级会员

67

主题

355

帖子

1068

积分

高级会员

积分
1068

活字格认证

qtcxc 活字格认证
高级会员   /  发表于:2021-6-9 14:31  /   查看:3519  /  回复:10
1金币
本帖最后由 qtcxc 于 2021-6-12 20:15 编辑

目前开发过程中遇到一个很麻烦的需求,就是集团化多层级的平台系统开发过程中需要对数据做不同层级的权限控制
目前活字格里面的数据权限 有跟操作员和角色管理的权限体系

但是无法完全满足需求,
我目前需要实现的权限控制是除了基于用户用户角色外,需要再增加用户所处的部门 对应职级进行数据的读写权限控制



大概规划是按照上面的 职级方式

是否有方法可以实现数据的读写权限 通过判断 当前用户所处的部门 职级来控制数据库行列权限

同时职级也有上下级关系,总部>省级>市级>区级>店级

需要实现类似:

这两个规则 达到
记录创建者部门
记录创建者部门上级(组织级别比当前部门高的都是上级)
来控制 上级组织是否可以增删查改下级组织  相关数据的权限控制.

另外如果表格中有用户字段,希望能像

用户字段的上级这样,增加
用户字段自己
用户字段部门
用户字段部门上级(组织级别比当前部门高的都是上级)
来控制 除了创建者外,数据字段里面记录的额外的用户组织结构信息来控制权限

另外,数据库新建的字段有用户字段 是否可以增加组织结构字段,如果有组织结构字段那数据也可以按组织结构的部门来直接控制权限.
比如数据库 有组织结构字段 值为 中心区店 那么
希望中心区店 可以看本店数据

另外希望可以细化权限就是目前的权限控制职能是单一条件是否可以组合条件 想查询条件的窗口那样设置
多个条件组合满足组合条件规则的 设置权限
如 方便实现,部门是A部门 角色是店长的 可以修改数据  or 创建者 可以修改数据  这样做一些复杂规则组合.

上面这样的描述不知道是否能表述清楚我的需求,能不能理解?




附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

评估根据上面的思路做设计,目前大概能满足进行权限控制的需求 处理方法: 以如下组织架构为例 参考国家行政区域划分规则形成 国家-省份-市-区-店 的编码,以中国广东省深圳市南山区1号分店为例形成如下的编码 86-44-03-05-000001 然后新增用户自定义字段"组织编码",每个用户都根据这个用户所处的组织级别填写编码 如 中国广东省深圳市南山区1号分店 填 86-44-03-05-000001 中国广东省深圳市南山区2号分店 填 86-44-0 ...

10 个回复

倒序浏览
最佳答案
最佳答案
qtcxc活字格认证
高级会员   /  发表于:2021-6-9 14:31:22
来自 8#
评估根据上面的思路做设计,目前大概能满足进行权限控制的需求
处理方法:
以如下组织架构为例


参考国家行政区域划分规则形成
国家-省份-市-区-店
的编码,以中国广东省深圳市南山区1号分店为例形成如下的编码
86-44-03-05-000001

然后新增用户自定义字段"组织编码",每个用户都根据这个用户所处的组织级别填写编码

中国广东省深圳市南山区1号分店 填 86-44-03-05-000001
中国广东省深圳市南山区2号分店 填 86-44-03-05-000002
中国广东省深圳市南山区86-44-03-05-000001


同时所有需要做权限控制的数据库表都增加"所属组织级别"统一以该记录的录入操作员的"组织编码"编码填值,比如
中国广东省深圳市南山区1号分店员工登记的记录自动 填 86-44-03-05-000001
中国广东省深圳市南山区2号分店员工登记的记录自动 填 86-44-03-05-000002


这样做完后行列记录控制我就可以按照下图的方式,来控制操作权限.

比如
中国广东省深圳市南山区公司的员工"组织编码为"86-44-03-05
就可以看所有的 南山区下的
86-44-03-05-000001
86-44-03-05-000002
的记录
以此类推.


不过这样做有一个缺陷就是 用户的自定义字段 目前没办法设置成必填项,有可能创建用户的时候没填组织编码,这样就可能导致后续的数据没有归属,就无法进行控制了.

是否可以对自定义字段增加必填的控制,这样以上的实现方法就能完全闭环了.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-6-9 18:56:15
2#
陈经理~你的这个我看懂了,不过目前活字格的所有权限机制都是基于角色来做的,如果想要实现你说的组织结构的权限控制,权限机制整个是需要重构的

目前如果想要实现你现在描述的需求还是需要将每个部门添加到对应的一个角色中去进行权限控制;
至于你说的添加组织结构字段,权限按照用户字段的上级,用户的部门和用户部门的上级,这个可能得后续讨论下才知道是否可行

前期可能还需要你详细的描述下你的业务需求,因为你上述描述的都是指你需要这个功能,但是什么样的实际场景下需要这个功能我们并没有那么的熟悉,所以可以的话,建议详细的描述下你的用户故事,业务需求,也方便我们如果后续要对权限机制深究的时候有一个背景
回复 使用道具 举报
qtcxc活字格认证
高级会员   /  发表于:2021-6-10 12:21:59
3#
本帖最后由 qtcxc 于 2021-8-27 09:02 编辑

我在这里补充需要这样功能的用户故事:
      故事要从很久很久以前讲起....
      在购买活字格初期,刚开始用活字格设计公司的软件产品时公司的架构相对简单,只有独立的一个实体,当时用的是4.0,只要实现"用户-角色-权限"这样一套权限体系基本就满足了公司的权限控制需求.也是通过这样的权限体系构建了目前整个公司的系统的.
      但是随着公司的业务发展,公司从一个单一实体,慢慢的根据公司业务模式的变化变成了多个实体有层级的组织架构,目前的结构蜕变为  我上面描述的"总公司-省级子公司(规划)-城市子公司-行政区子公司-门店"这样的架构.

      因为以上架构的变化所以在规划重构现有的系统来配合这个组织架构实现权限架构,在做的过程中其实是有一些方法能够实现一部分的控制,就是自己重新设计一套组织表+与组织管理的用户字表,然后封装通用的服务器端命令来判断组织权限.判断完再执行操作.这种做法对按钮,菜单,页面等能做到控制,基于这种控制如果不同的人需要对一个统计表统计不同的数据,则需要将相同的页面拆分成多个或写不同的数据查询逻辑,然后根据判断返回的结果调用不同的逻辑取数据.能够达到目的,但是逻辑复杂工作量会比较大,而且考虑到系统经常要迭代如果通过页面拆分(其实已经这样做了)每次报表要增加字段修改字段或者调整跟数据无关的算法等所有同类页面都要修改一遍,担心修改过程遗漏是一个问题,最担心的是不同页面万一在不同的时间段做了修改调整,最终这些页面逻辑是不是一致的没办法很方便的核对出来,需要额外的测试之外,还需要人工一个个命令肉眼检查,非常困难;
         所以在想有没有办法独立控制一套权限的调取规则,而页面逻辑只要按照统一的逻辑书写(相对简单不需要考虑数据调取逻辑),配合数据调取权限规则来控制同一个页面相同的查询命令调取权限范围内的数据的思路,简化程序逻辑的复杂度也方便维护迭代.
         所以开始琢磨活字格自带的数据库行和字段权限的能力,在研究的过程中发现这一层应该就是为了解决上述不同人在相同页面相同数据查询规则下呈现不同权限下的结果而存在的.
只是目前看到的结果是仅仅有角色层面的控制,无法满足需要根据不同组织级别显示数据的需求.

      举个例子:
      门店下面分普通员工 和 店长,普通员工只给看自己相关的数据,这个自己可以是自己创建的客人,也可以是自己负责跟进的客人(自己负责跟进的客人可以是一个自定义的用户字段,由店长指派),这个诉求目前活字格现在的数据权限控制已经能够通过角色,数据创建者,自定义的用户字段满足;
       然后就是门店往上走 会有
       区域分公司 需要可以查看自己所在区域内所有门店的数据;
       市级分公司 需要可以查看自己所在市内所有区域所有门店的数据;
       省级分公司 需要可以查看自己所在省份所有市,所有区域,所有门店的数据;
       总公司 需要可以查看所有省份,所有市,所有区域,所有门店的数据;
以上是只对查看方面描述的场景,针对数据的修改删除 也会有一套不同层级的规则,如果在数据层能控制则谢逻辑的时候就不需要考虑那么多场景每个地方都写判断逻辑或者拆分页面来实现



      
回复 使用道具 举报
qtcxc活字格认证
高级会员   /  发表于:2021-6-10 12:25:43
4#
另外 公司也在规划 开发适合公司业务要求的 商城系统,而这个商城 需要总部-商户  多商户的结构,这个结构下 总部维护统一的商品和价格信息,然后发布给商户,每个商户的商品可以有一定的个性化要求的,也可能会用上  组织架构的权限来对 商品,商品价格 进行数据控制,限制不同商品不同价格在不同的商户上展示.
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-6-10 13:55:15
5#
您好,研读了您的故事之后,觉得您确实是有组织结构控制权限的需求,但现在的活字格中还不支持这样,您看看能不能先这样来设计,
首先每个区域会设置一个编号,
就拿广东省来说,设置广东省的编号为1-100,
然后1-10是广州市的区,11-20是深圳市的区,
广州每个区的分公司只能看自己这个区的,
广州市的分公司可以看1-10所有的,
广东省的公司可以看1-100的.....
您可以先看下这样能不能先解决您的问题,或者您也可以在
产品需求版块中发个帖子,后续会有专门负责这个板块的技术人员,对这些需求进行整理和评估哈~感谢您的支持呢~

回复 使用道具 举报
qtcxc活字格认证
高级会员   /  发表于:2021-6-12 20:14:57
6#
谢谢,正在参考上面的思路 看看怎么设计可以实现。
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-6-15 09:41:58
7#
不客气哈,感谢您对活字格的支持。
后面有问题,欢迎继续发新帖交流
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-6-21 09:13:06
9#
这个是不是使用服务端命令让他修改不要让他们直接到用户管理中设置就行?
回复 使用道具 举报
qtcxc活字格认证
高级会员   /  发表于:2021-6-23 16:16:02
10#
我抽时间重新做一套用户管理,启用活字格自身带的用户管理功能看看.
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部