扫一扫微信二维码

软件中权限控制系统的重要性

大唐传易2021-03-03资讯
    权限控制系统在软件中的价值不言而喻,在OA、CRM等各种系统上应用极多。任何登陆型的应用都缺少不了权限的使用。系统为了区别角色都会有个组的概念,比如一个账号属于什么组里的,操作的数据权限及页面权限有哪些。

   

权限控制系统在软件应用中的重要性

 

     1. 账号的定义

每个员工想要进入系统肯定都会有一个账号,而这个账号就是一把钥匙。

我们通过控制账号所具备的权限,进而控制这个员工的授权范围。

因此需要告诫员工,账号密码不能轻易提供他人,不然遇到的问题由自己承担。

       2. 角色的定义

角色管理是确定角色具备哪些权限的一个过程,他是一个集合的概念,是众多最小权限颗粒的组成。

我们通过把权限给这个角色,再把角色给账号,从而实现账号的权限,因此它承担了一个桥梁的作用。

引入角色这个概念,可以帮助我们灵活的扩展,使一个账号可以具备多种角色。

角色的命名最好按照职位而定,例如市场部普通员工,市场部主管等。因为职位在任何企业都是存在的,且是有限的,并且容易理解,市场部文员那就是市场部文员角色,方便我们配置权限时的判断,避免配置错误。

3. 权限的定义

权限可以分为三种:页面权限,操作权限,数据权限。

页面权限

控制你可以看到哪个页面,看不到哪个页面。

很多系统都只做到了控制页面这一层级,它实现起来比较简单,一些系统会这样设计,但是比较古板,控制的权限不精细,难以在页面上对权限进行更下一层级的划分。

操作权限

则控制你可以在页面上操作哪些按妞。

延伸:当我们进入一个页面,我们的目的无非是在这个页面上进行增删改查,那在页面上对应的操作可能是:查询,删除,编辑,新增四个按钮。

可能你在某个页面上,只能查询数据,而不能修改数据。

数据权限

数据权限则是控制你可以看到哪些数据,比如市场A部的人只能看到或者修改A部创建的数据,他看不到或者不能修改B部的数据。

延伸:数据的控制我们一般通过部门去实现,每条记录都有一个创建人,而每一个创建人都属于某个部门,因此部门分的越细,数据的控制层级也就越精细,这里是否有其他好的方式除了部门这个维度还有其他什么方式可以控制数据权限,大家可以提出来探讨一下。

 

    刚才说到,对数据进行控制最好通过弹性的方式,在一个系统里面或者功能模块里面对用户角色或者岗位进行设置,一般权限控制默认在一个权限管理系统模块进行设定,数据权限也应该如此。

    权限系统除了可以对用户能操作那些功能进行限定,也还可以对其访问那些组织机构的数据进行限定,我们通过权限系统,把这些权限控制的数据进行保存,在应用系统模块里面进行整合即可,根据角色拥有的数据权限,授予用户对其他部门或者机构的数据进行访问。如下面是我权限系统模块里面对角色权限的设置操作。
 

    

权限控制表设计

 

    

设计难点

在权限管理中,数据库的设计并不复杂,所以从技术上而言,难度不大。主要难度在于,如何能够快捷有效的进行授权,以及维护资源权限。为了达到授权与维护的方便,使用了多个尝试,由最开始的jqGrid tree特性,到ztree,再到拖动排序,以及数据库的设计等多次优化 

    如何为软件设计权限管理系统?

 

企业基于角色的权限访问控制模型的统一权限管理说起来容易,但往往在实施过程中困难重重,特别是业务部门对此往往反应激烈。

我们还是本着“统筹规划”、“分步实施”的原则,以下几点是我们根据以往大量的项目经验总结的建议,希望对您有所帮助:

1.“统筹规划”,在统一权限管理规划时,信息部门需要和业务部门进行统筹规划,双方达成共识,企业统一权限管理做到哪个层级、分几期进行等等?避免后期在实施过程中产生分歧影响统一权限管理的整体效果和进展。

2. “互通有无”,在统一权限管理实施时,业务部门也要参与到日常的项目进展汇报、沟通中来,清晰了解实施情况及进展,“多沟通,早准备”,化解项目中沟通不畅造成的风险。

3. “逐一击破”,在统一权限管理实施时,我们要针对每一个业务系统制定实施方案,提前预见可能发生的风险,在实施过程中一个系统一个系统的逐一实施,最大限度降低风险,提升整体实施效果。


 

企业基于角色的权限访问控制模型的统一权限管理说起来容易,但往往在实施过程中困难重重,特别是业务部门对此往往反应激烈。

我们还是本着“统筹规划”、“分步实施”的原则,以下几点是我们根据以往大量的项目经验总结的建议,希望对您有所帮助:

1.“统筹规划”,在统一权限管理规划时,信息部门需要和业务部门进行统筹规划,双方达成共识,企业统一权限管理做到哪个层级、分几期进行等等?避免后期在实施过程中产生分歧影响统一权限管理的整体效果和进展。

2. “互通有无”,在统一权限管理实施时,业务部门也要参与到日常的项目进展汇报、沟通中来,清晰了解实施情况及进展,“多沟通,早准备”,化解项目中沟通不畅造成的风险。

3. “逐一击破”,在统一权限管理实施时,我们要针对每一个业务系统制定实施方案,提前预见可能发生的风险,在实施过程中一个系统一个系统的逐一实施,最大限度降低风险,提升整体实施效果。