找回密码
 立即注册

QQ登录

只需一步,快速开始

qtcxc 活字格认证

高级会员

67

主题

355

帖子

1069

积分

高级会员

积分
1069

活字格认证

qtcxc 活字格认证
高级会员   /  发表于:2019-8-26 12:10  /   查看:8523  /  回复:17
本帖最后由 qtcxc 于 2019-8-27 17:15 编辑

      用活字格已经过了大半年了,一边用一边学,期间遇到了各种各样的问题大部分都通过官方的技术支持解决,也有很多是通过论坛中格友们分享的各种帖子获取灵感得到启发解决。
      所以一直来都有想给社区贡献一点东西的想法,但是迟迟没有做(主要是手上没货)。
      今天工程还在赶制中,任务已经安排在不同的人身上各自负责各自的模块,我负责的部分暂时告一段落,在等待同事的模块完成的空隙抽点时间把这个想法付诸行动,能拿点什么分享呢?目前工程很多业务逻辑都比较特殊,其它行业也不一定用得上,所以挑一个相对基础的功能“基础权限管理模型”来分享。
      可能有格友会问,活字格不是集成有权限管理功能吗,你的“基础权限管理模型”又有什么用呢?
      其实,活字格自带的权限管理功能还是比较全面的,对于一般的公司边开发边用都是能满足需求的,但是自带的权限管理功能跟程序功能是深度耦合的,一旦权限变更则需要动用设计器更改程序规则代码来进行调整,调整完成后重新发布工程来实现权限规则变更。工程较小功能较单一的情况下这样做完全没有问题的。
     但是当工程稍微大一点,做任何的重新发布动作都是一种风险,需要承担重新发发布可能引起的人为的不可控的风险。出于这种原因,我们需要在活字格现有的权限管理基础上构建一套松耦合的权限管理框架,目的是让程序发布后大部分的权限调整直接在发布后的程序后台完成,尽量不动用设计器修改重新发布。(对于那些要做产品卖的格友这样的诉求就更明显,虽然目前我做的工程不打算拿出去卖
     所以这个框架是针对以上特定要求的人使用的,一般情况下用活字格自带的权限框架就ok了。
     
     已经啰嗦了一大堆,下面正式分享:    先讲思路:
     这个问题是初用活字格的时候差不多是1月份的时候在做程序整体架构设计的时候遇到的问题,当时就直接咨询了官方,这是当时发的问题帖子:
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=52986
然后在论坛里面搜到了一个格友也同时遇到了相同的问题:
https://gcdn.grapecity.com.cn/fo ... 80&page=1#pid211509

对设计思路感兴趣的格友通过上面两个帖子基本上可以了解,我就不重新码字了,下面讲一下实现:
延续上面的思路跟胡耀,梁瑞沟通后得到了"获取用户管理角色"的api,为实现提供了基础。因为整个权限体系规划是在功能实现后最后阶段完善的,所以验证了技术可行性和demo测试没问题后就放下了,接下来就是几个月持续的开发工作一直没有时间继续完善这个框架。直到6月份整个程序功能架构搭建完成了,就开始抽空完善这部分权限控制的功能。

下面就按完成后的框架说明现在框架下的设计方法:
1、首先说明,这个权限体系,将活字格原有的”角色“定义为最小”权限“单位即”权限“,分为”菜单类权限“,”模块类权限“,”功能类权限“;
菜单类权限:控制菜单页面是否运行访问使用,每个权限分别跟菜单中的菜单项进行关联,同时跟菜单项设计的页面进行关联;
模块类权限:控制具体模块类页面是否允许使用,每个权限分别跟对应模块的页面进行关联;
功能类权限:控制具体的功能按是否可用,输入栏位是否可输入,业务规则等相关权限,每个权限直接跟对应的按钮,或业务逻辑关联;
image.png75681761.png

这样初步实现权限的松耦合,每个独立的权限只控制自己相关的页面,按钮或功能逻辑。

2、在用户自定义字段中增加”是否角色“字段,新建用户设置”是否角色“为“是”表示该用户为”角色“代替活字格原有的”角色“概念;(为了更方便的按打包好权限的角色快速分配权限给每个操作员)

image.png657210082.png

image.png172210387.png


3、使用"获取用户管理角色"api 实时获取角色列表(权限列表)
附上官方提供的api:
获取角色列表功能.rar (528.13 KB, 下载次数: 444)

评分

参与人数 3金币 +3000 满意度 +10 收起 理由
WangZhiQing + 5 神马都是浮云
Simon.hu + 3000 赞一个!
qxc + 5 很给力!

查看全部评分

17 个回复

倒序浏览
successit悬赏达人认证
银牌会员   /  发表于:2019-8-27 15:40:36
推荐
应用系统,尤其是企业内部管理的应用系统,修改频率最高的一是权限(用户权限、表单权限、功能权限等),二是工作流,因为涉及到岗位变动或职务变动,就会涉及这2个方面,格子在这2个方面的功能真的需要做大的改进,不光要开发快速,还要后期方便调整啊。
回复 使用道具 举报
咖啡里讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2019-8-26 17:03:34
沙发
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-8-26 19:13:16
板凳
谢谢老铁分享!
这个例子太棒了!!!
回复 使用道具 举报
djs521720讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2019-8-27 12:42:42
地板
非常不错!谢谢分享!希望官方方面也可以引用下里面的一些想法,把权限工作做的更好!
回复 使用道具 举报
WangZhiQing
高级会员   /  发表于:2019-8-27 22:03:38
6#
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-8-29 18:46:31
7#
10月份的版本会有页面和UI权限的在线配置的
回复 使用道具 举报
xgh2019
高级会员   /  发表于:2019-9-2 14:05:10
8#
这种方式思路牛,问题是把角色当成用户,对于非并发数用户就
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-9-3 09:05:53
9#
xgh2019 发表于 2019-9-2 14:05
这种方式思路牛,问题是把角色当成用户,对于非并发数用户就

并发限制的是用户数,又不是限制角色数?
不影响的啊
回复 使用道具 举报
qtcxc活字格认证
高级会员   /  发表于:2019-9-3 12:19:48
10#
本帖最后由 qtcxc 于 2019-9-3 13:22 编辑

收到反馈,想了一下,其实应该不需要将用户当角色用的,另外做一角色表来存储打包好的角色权限就ok了。小改一下程序就ok了。

脑袋短路了,为什么老想着用用户做角色呢奇怪了。

不过目前暂时不改动了,等官方的新版本看看。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部