发明内容
本发明实施例所要解决的技术问题在于,提供一种系统权限管理方法及装置,能够提高系统权限管理的效率,灵活分配用户账号的系统权限。
为解决上述问题,本申请实施例的第一方面提供了一种系统权限管理方法,至少包括如下步骤:
接收第一用户帐号的第一角色建立指令,并根据所述角色建立指令建立所述第一用户账号对应的第一角色;
根据第一用户与所述第一角色的对应关系,为所述第一角色分配对应的角色系统权限;
根据所述第一角色与功能权限的对应关系,为所述第一角色分配对应的功能权限;所述功能权限包括字段权限、对象级权限和操作权限;
根据所述第一角色与数据权限的对应关系,为所述第一角色分配对应的数据权限;所述数据权限包括基础数据权限和数据共享权限;
综合所述第一角色所分配的角色系统权限、功能权限和数据权限,构建所述第一角色的权限管理列表并进行管理。
在第一方面的一种可能的实现方式中,所述系统权限管理方法,还包括:
根据所述第一用户与数据共享权限的对应关系,为所述第一用户分配分配对应的数据共享权限;
根据所述第一用户所属的第一部门与数据共享权限的对应关系,为所述第一部门分配对应的数据共享权限。
在第一方面的一种可能的实现方式中,所述系统权限管理方法,还包括:
为所述第一角色分配对应的菜单管理权限,所述菜单管理权限包括目录权限、菜单权限和按钮权限。
在第一方面的一种可能的实现方式中,所述系统权限管理方法,还包括:
将汇总角色系统权限、功能权限和数据权限的第一角色分配至第二用户账号中。
在第一方面的一种可能的实现方式中,所述系统权限管理方法,还包括:
当所述第一角色对资源进行操作时,对所述第一角色的操作权限进行验证。
在第一方面的一种可能的实现方式中,所述对所述第一角色的操作权限进行验证,具体为:
当所述第一角色对资源发出资源操作请求时,生成对应的授权记录至访问控制列表;
对授权记录中的角色信息、资源信息和授权信息进行移位认证;
在通过所述移位认证后,允许所述第一角色对资源进行操作。
在第一方面的一种可能的实现方式中,所述系统权限管理方法,还包括:
当所述第一角色根据所述数据权限进行数据操作时,采用SSH网络协议进行数据传输。
本申请实施例的第二方面提供了一种系统权限管理装置,包括:
角色创建模块,用于接收第一用户帐号的第一角色建立指令,并根据所述角色建立指令建立所述第一用户账号对应的第一角色;
系统权限分配模块,用于根据第一用户与所述第一角色的对应关系,为所述第一角色分配对应的角色系统权限;
功能权限分配模块,用于根据所述第一角色与功能权限的对应关系,为所述第一角色分配对应的功能权限;所述功能权限包括字段权限、对象级权限和操作权限;
数据权限分配模块,用于根据所述第一角色与数据权限的对应关系,为所述第一角色分配对应的数据权限;所述数据权限包括基础数据权限和数据共享权限;
角色权限管理模块,用于综合所述第一角色所分配的角色系统权限、功能权限和数据权限,构建所述第一角色的权限管理列表并进行管理。
本申请实施例的第三方面提供了一种系统权限管理的终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的系统权限管理方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的系统权限管理方法。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的一种系统权限管理方法及装置,所述方法包括:接收第一用户帐号的第一角色建立指令,并根据所述角色建立指令建立所述第一用户账号对应的第一角色;根据第一用户与所述第一角色的对应关系,为所述第一角色分配对应的角色系统权限;根据所述第一角色与功能权限的对应关系,为所述第一角色分配对应的功能权限;所述功能权限包括字段权限、对象级权限和操作权限;根据所述第一角色与数据权限的对应关系,为所述第一角色分配对应的数据权限;所述数据权限包括基础数据权限和数据共享权限;综合所述第一角色所分配的角色系统权限、功能权限和数据权限,构建所述第一角色的权限管理列表并进行管理。
与现有技术相比,本发明实施例通过将系统权限分配至角色,再将该角色共享至对应的账号,使得一个账号能够具备多种角色,使得在权限管理方面的拓展性更好,由于角色所拥有的系统权限一般不会随意更改,并且角色也不会随着用户的被添加和被移除而进行改变,相较于用户管理而言更加稳定,有利于提高用户权限管理的稳定性和灵活性,提高系统权限管理的效率,使权限管理更加人性化。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
首先介绍本发明可以提供的应用场景,如对用户的系统权限进行管理。
本发明第一实施例:
请参阅图1。
如图1所示,本实施例提供了一种系统权限管理方法,至少包括如下步骤:
S1、接收第一用户帐号的第一角色建立指令,并根据所述角色建立指令建立所述第一用户账号对应的第一角色。
具体的,对于步骤S1,当权限管理系统接收用户发送的角色建立指令后,根据该指令建立对应的第一角色。
S2、根据第一用户与所述第一角色的对应关系,为所述第一角色分配对应的角色系统权限。
具体的,对于步骤S2,构建用户与角色的对应关系,根据该关系分配第一角色对应的角色系统权限。
S3、根据所述第一角色与功能权限的对应关系,为所述第一角色分配对应的功能权限;所述功能权限包括字段权限、对象级权限和操作权限。
具体的,对于步骤S3,构建角色与系统功能权限的对应关系,根据该关系分配第一角色对应的功能权限。
在具体的实施例中,底层菜单管理配置一般为开发人员一早就配置好,现在由用户进行分配使用这些功能权限。
功能权限主要为以角色为基础,通过划分不同角色的不同功能权限,并将员工添加到对应的角色中,实现员工功能权限的区分和隔离,包括:
对象级功能:比如功能的入口是否可见,如角色为“蓝鲸观察者”,对象“人员管理”的“查看列表”权限点取消,则此角色下员工不可见人员管理的功能入口。
操作点权限:比如新建、编辑等业务操作;
字段权限:在展示信息时加权限控制,保证敏感信息的安全性。可为角色配置对象字段的读写、只读或不可见。比如:为角色“服务人员”配置销售订单的销售订单金额字段不可见。其中:
读写权限:员工将具备该字段的最大权限,新建和编辑时可编辑,列表和详情页可见该字段。
只读权限:员工在新建和编辑时不可编辑,列表和详情页可见该字段。
不可见权限:员工在新建、编辑、列表和详情界面对该字段(或该字段值)不可见。
S4、根据所述第一角色与数据权限的对应关系,为所述第一角色分配对应的数据权限;所述数据权限包括基础数据权限和数据共享权限。
具体的,对于步骤S4,构建角色与系统数据权限的对应关系,根据该关系分配第一角色对应的数据权限。
在具体的实施例中,数据权限定义:数据权限管理主要控制某条数据记录对用户是否可见,结合功能权限可以更灵活的配置业务过程中每一位员工的功能操作权限及数据可见范围,全面保障企业数据的安全性。
类似矩阵列表中,功能权限决定用户可见哪些列,比如客户对象中可见姓名、电话、邮箱等字段。数据权限决定用户可见哪几条数据,比如:“王先生”、“李先生”等。
在本实例中,数据权限分两个层次来控制数据:1、基础数据权限:即根据数据的负责人来决定。2、数据共享:根据基础数据权限中的数据记录所属将其共享给其它用户查看或编辑。
其中,基础数据权限包括:
私有:对象中所有数据遵循相关团队成员(包括负责人)及其上级对数据可见,且对这条数据具备同样的权限(只读、可编辑),上级部门的部门负责人可以看到下级部门的所有数据。
公开只读:对象中所有数据对全公司公开,单条数据的负责人及其上级、以及相关团队具备编辑权限的成员可以编辑该数据。
公开读写:对象中所有数据对全公司公开,全员可编辑。
此处的“上级”是指用户的汇报对象,在用户管理界面可进行编辑汇报对象。
由于系统初始化一开始默认设置好(默认设置的应该是根据客户公司实际运营情况),用户可再根据公司的发展而进行改变默认设置,也可进行恢复默认设置,因为默认设置是涵盖了公司90%的场景。
另外,通用权限管理系统可采用Java Swing实现,可以在桌面应用和Web应用系统中进行调用。如果需要要适应所有开发语言,可以将其API发布到WEB Service上,暂时用Java Swing实现。
S5、综合所述第一角色所分配的角色系统权限、功能权限和数据权限,构建所述第一角色的权限管理列表并进行管理。
具体的,对于步骤S5,汇总第一角色已分配的角色系统权限、功能权限和数据权限,生成第一角色的权限管理列表,以使后续管理人员进行管理。
在具体的实施例中,本申请中的角色往往是基于业务管理需求而预先在系统中设定好的固定标签,每个角色对应明确的系统权限,是一个集合的概念,是众多最小权限颗粒的组成。通过把权限给这个角色,再把角色给账号,从而实现账号的权限,因此它承担了一个桥梁的作用。引入角色这个概念,可以帮助权限管理者灵活的扩展,使一个账号可以具备多种角色,其所拥有的系统权限一般不会随意更改,并且角色也不会随着用户的被添加和被移除而进行改变,相较于用户管理而言更加稳定。
在优选的实施例中,所述系统权限管理方法,还包括:
根据所述第一用户与数据共享权限的对应关系,为所述第一用户分配分配对应的数据共享权限;
根据所述第一用户所属的第一部门与数据共享权限的对应关系,为所述第一部门分配对应的数据共享权限。
具体的,根据用户账号本身与权限管理系统上数据数据共享权限的对应关系,为第一用户分配分配对应的数据共享权限,进一步,根据第一用户所属的上一级部门与数据共享权限的对应关系,为上一级部门分配对应的数据共享权限。
在优选的实施例中,所述系统权限管理方法,还包括:
为所述第一角色分配对应的菜单管理权限,所述菜单管理权限包括目录权限、菜单权限和按钮权限。
具体的,菜单管理模块的类型分为3种:目录、菜单、按钮。在目录和菜单上加权限控制,有权限的就可以访问对应模块,没有的连菜单名都看不到。
在业务模块的功能按钮上加权限控制,最小粒度的控制用户行为,譬如:老板娘有录入商品的权限,就能看到商品录入的按钮,点击录入就可以进行商品的录入操作;反之没有该权限的店员就无法进行商品录入的操作。
在优选的实施例中,所述系统权限管理方法,还包括:
将汇总角色系统权限、功能权限和数据权限的第一角色分配至第二用户账号中。
具体的,将已经分配好权限的第一角色按需分配至其他账户中,实现角色权限的共享。
在优选的实施例中,所述系统权限管理方法,还包括:
当所述第一角色对资源进行操作时,对所述第一角色的操作权限进行验证。
在优选的实施例中,所述对所述第一角色的操作权限进行验证,具体为:
当所述第一角色对资源发出资源操作请求时,生成对应的授权记录至访问控制列表;
对授权记录中的角色信息、资源信息和授权信息进行移位认证;
在通过所述移位认证后,允许所述第一角色对资源进行操作。
具体的,本实例主要负责包括用户(User)、角色(Role)、资源(module)和操作(Permission);当用户角色(UserRole)和对某个资源的某个操作(ACL)一条acl授权记录中主要记录了以下信息:角色、资源和授权,授权作为一个int,每一位是一个操作的权限。假设从右向左,分别代表CRUD,那么CRUD的代码就应该是0123(也就是移位时要移的位数),因此要进行移位进行认证。
而权限管理最难理解的就是CRUD中的数据得来,至于别的我们可以关系,我们还是可以清晰的理解,还有一个概念就是集成的概念:针对某个资源的所有操作,我们可以设置这些权限对用户来说是“继承”或“不继承”。
继承:意思是这些权限将使用其(即用户)所拥有的角色的权限,而不使用其(即用户)单独设置的权限;
不继承:意思是这些权限将使用其单独设置的权限,而不使用其所拥有的角色的权限。
在优选的实施例中,所述系统权限管理方法,还包括:
当所述第一角色根据所述数据权限进行数据操作时,采用SSH网络协议进行数据传输。
具体的,SSH可以通过将联机的封包加密的技术进行资料的传递;使用SSH可以把传输的所有数据进行加密,即使有人截获到数据也无法得到有用的信息。同时数据经过压缩,大大地加快了传输的速度。通过SSH的使用,可以确保资料传输比较安全并且传输效率较高。
需要说明的是,为了保证数据库的一致性和完整性,往往通过表间关联的方式来尽可能的降低数据的冗余。表间关联是一种强制性措施,建立后,对父表(Parent Table)和子表(Child Table)的插入、更新、删除操作均要占用系统的开销。如果数据冗余低,数据的完整性容易得到保证,但增加了表间连接查询的操作,为了提高系统的响应时间,合理的数据冗余也是必要的。使用规则(Rule)和约束(Check)来防止系统操作人员误输入造成数据的错误是设计人员的另一种常用手段,但是,不必要的规则和约束也会占用系统的不必要开销,需要注意的是,约束对数据的有效性验证要比规则快。所有这些,需要在设计阶段应根据系统操作的类型、频度加以均衡考虑。
本实施例提供的一种系统权限管理方法,包括:接收第一用户帐号的第一角色建立指令,并根据所述角色建立指令建立所述第一用户账号对应的第一角色;根据第一用户与所述第一角色的对应关系,为所述第一角色分配对应的角色系统权限;根据所述第一角色与功能权限的对应关系,为所述第一角色分配对应的功能权限;所述功能权限包括字段权限、对象级权限和操作权限;根据所述第一角色与数据权限的对应关系,为所述第一角色分配对应的数据权限;所述数据权限包括基础数据权限和数据共享权限;综合所述第一角色所分配的角色系统权限、功能权限和数据权限,构建所述第一角色的权限管理列表并进行管理。
本实施例通过将系统权限分配至角色,再将该角色共享至对应的账号,使得一个账号能够具备多种角色,使得在权限管理方面的拓展性更好,由于角色所拥有的系统权限一般不会随意更改,并且角色也不会随着用户的被添加和被移除而进行改变,相较于用户管理而言更加稳定,有利于提高用户权限管理的稳定性和灵活性,提高系统权限管理的效率,使权限管理更加人性化。
本发明第二实施例:
请参阅图2。
如图2所示,本实施例提供了一种系统权限管理装置,包括:
角色创建模块100,用于接收第一用户帐号的第一角色建立指令,并根据所述角色建立指令建立所述第一用户账号对应的第一角色。
具体的,对于角色创建模块100,当权限管理系统接收用户发送的角色建立指令后,根据该指令建立对应的第一角色。
系统权限分配模块200,用于根据第一用户与所述第一角色的对应关系,为所述第一角色分配对应的角色系统权限。
具体的,对于系统权限分配模块200,构建用户与角色的对应关系,根据该关系分配第一角色对应的角色系统权限。
功能权限分配模块300,用于根据所述第一角色与功能权限的对应关系,为所述第一角色分配对应的功能权限;所述功能权限包括字段权限、对象级权限和操作权限。
具体的,对于功能权限分配模块300,构建角色与系统功能权限的对应关系,根据该关系分配第一角色对应的功能权限。
数据权限分配模块400,用于根据所述第一角色与数据权限的对应关系,为所述第一角色分配对应的数据权限;所述数据权限包括基础数据权限和数据共享权限。
具体的,对于数据权限分配模块400,构建角色与系统数据权限的对应关系,根据该关系分配第一角色对应的数据权限。
角色权限管理模块500,用于综合所述第一角色所分配的角色系统权限、功能权限和数据权限,构建所述第一角色的权限管理列表并进行管理。
具体的,对于角色权限管理模块500,汇总第一角色已分配的角色系统权限、功能权限和数据权限,生成第一角色的权限管理列表,以使后续管理人员进行管理。
本实施例提供的一种系统权限管理装置,包括:角色创建模块100,用于接收第一用户帐号的第一角色建立指令,并根据所述角色建立指令建立所述第一用户账号对应的第一角色;系统权限分配模块200,用于根据第一用户与所述第一角色的对应关系,为所述第一角色分配对应的角色系统权限;功能权限分配模块300,用于根据所述第一角色与功能权限的对应关系,为所述第一角色分配对应的功能权限;所述功能权限包括字段权限、对象级权限和操作权限;数据权限分配模块400,用于根据所述第一角色与数据权限的对应关系,为所述第一角色分配对应的数据权限;所述数据权限包括基础数据权限和数据共享权限;角色权限管理模块500,用于综合所述第一角色所分配的角色系统权限、功能权限和数据权限,构建所述第一角色的权限管理列表并进行管理。
本实施例通过将系统权限分配至角色,再将该角色共享至对应的账号,使得一个账号能够具备多种角色,使得在权限管理方面的拓展性更好,由于角色所拥有的系统权限一般不会随意更改,并且角色也不会随着用户的被添加和被移除而进行改变,相较于用户管理而言更加稳定,有利于提高用户权限管理的稳定性和灵活性,提高系统权限管理的效率,使权限管理更加人性化。
本申请实施例还提供了一种系统权限管理的终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的系统权限管理方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的系统权限管理方法。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述模块的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变形,这些改进和变形也视为本发明的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。