您现在的位置是:首页 > 文章详情

bg.work 权限管理实现完成,数据操作/界面显示控制更便捷

日期:2019-12-01点击:482

bg.work 权限管理实现

   权限管理对有组织结构的系统重要性无需多言,没有权限限制的管理、办公系统将没有可用性可谈。说实话权限管理系统实现起来没有任何门槛,直接几个if else判断就能解决现实需求 ,但是,如果需要灵活、健壮、可维护、可扩展达,使整个开发组满意的的权限管理系统,那就另当别论了

bg.work的权限系统与本系统的数据与界面实现方式有着紧密的联系,所以在介绍权限系统前,我们要先介绍下数据与界面功能。

     1、数据操作:

           bg.work在数据层设计了Model ORM,基本结构如下:

 //model对应数据库的表,基于model orm 实现,model字段可以动态读取,利用这一原则与权限系统结合,可以动态设置针对model数据控制 @Model("department", "部门") class Department:ContextModel("corp_department", "public") { companion object : RefSingleton<Department> { override lateinit var ref: Department } val id= ModelField(null, "id", FieldType.BIGINT, "标示", primaryKey = FieldPrimaryKey()) val name= ModelField(null, "name", FieldType.STRING, "名称") val comment = ModelField(null, "comment", FieldType.TEXT, "注释") } 

      2、界面定义

 

 <!--基于model orm 框架,界面元素对应Model属性名称,基于这一原则,我们可以结合权限控制系统实现对界面的灵活控制--> <view type="list"> <field name="id"/> <field name="name" type="static"/> <field name="comment" type="static"/> </view>

对应界面:

 3、bg.work权限系统框架结构

说明:

Access Model Rule 控制Model(数据表)

read:是否有权操作、读取字段设置、读取哪个用户数据、限制到什么部门、限制到个人/整个组织、限制到目标角色、附加条件等

 

delete:是否有权操作、删除哪个用户数据、限制到什么部门、限制到个人/整个组织、限制到目标角色、附加条件等

 

edit:是否有权操作、更新字段设置、更新哪个用户数据、限制到什么部门、限制到个人/整个组织、限制到目标角色、附加条件等

create:是否有权操作、添加字段设置

设置界面:

  Model UI Rule 对Model View 的限制

 针对 model view 要展示的字段及操作按钮限制,每种 model都有对应的View Type

设置界面如下:

App menu控制,也是针对管理系统的菜单进行控制:

 

五、总结

 bg.work权限系统的加入,对后续功能的加入实现了直接控制,同时也实现了加入功能时不再考虑权限问题,所有的权限设置都推迟到系统部署或定制阶段

附加:

bg.work 源码连接:鼓励请点赞

github:https://github.com/ouliuying/bgserver

gitee:https://gitee.com/ouliuying/bgserver

原文链接:https://www.oschina.net/news/111744/bg-work-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章