软件开发中基于用户权限配置系统功能的方法

文档序号:6620986阅读:399来源:国知局
软件开发中基于用户权限配置系统功能的方法
【专利摘要】本发明公布了一种软件开发中基于用户权限配置系统功能的方法,该方法包括:将用户进行分类并确定用户对应的角色和权限;建立基于角色的权限访问控制模型;建立应用软件系统的功能子模块;建立模块-权限的调用接口和方法;生成配置结果信息XML文件;解析上述配置结果信息XML文件,通过配置得到权限所对应的系统功能。本发明提供的技术方案通过用户权限来配置系统功能,使得开发出的软件实现用户根据自身业务需求或自身权限对系统数据进行访问和对系统功能进行操作,实现基于角色的个性化业务功能,从而提高数据访问的安全性和对软件系统使用与操作的效率。
【专利说明】软件开发中基于用户权限配置系统功能的方法

【技术领域】
[0001] 本发明涉及计算机软件【技术领域】,具体涉及一种软件开发中基于用户权限配置系 统功能的方法。

【背景技术】
[0002] 随着管理系统的不断发展,多用户和多应用的业务要求不断增加,这样就要更进 一步增加系统的安全性,以保证系统的数据和资源的安全使用,随着计算机技术的发展和 信息时代的到来,借助计算机手段来解决上述问题成为可能。越来越多的企业开始意识到 信息化管理带给企业的巨大效益,所以各种各样的软件系统在企业中得到了广泛的实施和 应用,大大提高了企业日常办公的自动化程度。
[0003] 长期以来,由于多数软件系统都是针对某些用户的具体操作开发系统功能,现有 开发方式通常根据业务逻辑和业务管理的分工,把用户进行分组或分类,将每一组(类)用 户定义为一个应用系统的角色,然后针对每一个角色开发相应的程序功能,然而这种开发 方式的缺点是:当业务分工进行调整时,原有的程序功能不能满足用户的操作需求,必须对 相应角色的程序功能进行相应的修改以适应业务分工的调整;并且,用户每次对功能的操 作都需要从头开始来定位到自己需要的功能操作结果;而不同用户想要实现的功能不同, 迫切希望快速定位到自己想要的结果,目前,多数软件系统的功能操作都固定不变,其用户 操作效率不高,数据的访问也不安全,难以满足系统多用户的不同需求;软件系统开发技术 需要解决不同权限的用户访问系统中不同数据和进行不同功能操作,以及在操作过程中效 率低下和数据访问不安全的问题。


【发明内容】

[0004] 为解决上述现有软件系统开发中存在的技术问题,本发明提供一种软件开发中基 于用户权限配置系统功能的方法,通过用户权限来配置系统功能,使得开发出的软件实现 用户根据自身业务需求或自身权限对系统数据进行访问和对系统功能进行操作,从而提高 数据访问的安全性和对软件系统使用与操作的效率。
[0005] 本发明的技术方案是:
[0006] -种软件开发中基于用户权限配置系统功能的方法,该方法通过基于角色的权限 访问控制模型建立用户与应用软件系统功能之间的关联关系,即通过用户权限来配置系统 功能,从而使得开发出的软件实现用户根据自身业务需求或自身权限对系统数据进行访 问和对系统功能进行操作,包括如下步骤:
[0007] S1,获取用户在操作一应用软件系统过程中对系统功能的需求信息,将用户进行 分类并确定用户对应的角色和权限;
[0008] S2,建立基于角色的权限访问控制模型;
[0009] S3,建立应用软件系统的功能子模块;
[0010] S4,确定各功能子模块与权限之间的关联关系,建立模块-权限的调用接口和方 法;
[0011] S5,通过模块权限配置界面,为权限分配功能子模块,生成配置结果信息XML文 件;
[0012] S6,解析上述配置结果信息XML文件,通过配置得到权限所对应的系统功能。
[0013] 针对上述软件开发中基于用户权限配置系统功能的方法,本发明一实施例在步 骤S1中确定用户对应的角色是依据工作岗位来确定的,角色分为管理员、普通用户、调度 员、操作工、检查员和领导等。步骤S2中的基于角色的权限访问控制模型包括三种主体 对象,三种主体对象为用户、角色和权限;模型的基本思想是:将访问许可权与用户权限对 应,并分配给一定的用户角色,用户通过不同的用户角色获得所拥有的访问许可权,即用户 权限。建立基于角色的权限访问控制模型具体包括如下步骤:
[0014] S21,确定主体对象之间的关联关系,其关联关系具体为用户角色与用户之间是一 对多的关系,用户与用户权限之间没有直接关系,只有通过角色才享有该角色所具有的用 户权限,从而访问相应的功能子模块;
[0015] S22,建立用户信息表和用户角色信息表;
[0016] S23,根据用户信息表和用户角色信息表,为用户角色分配用户权限,建立用户权 限信息表。
[0017] 在本发明一实施例中,建立基于用户角色的用户权限访问控制模型是首先确定三 种主体对象之间的关系,即角色跟用户之间是一对多的关系,用户跟权限之间没有直接关 系,用户角色与用户权限之间是多对多的关系,只有通过角色才享有该角色所具有的用户 权限,从而访问相应的功能子模块,通过数据库中的主外键相关联以及角色作为桥梁来建 立用户与用户权限之间的关系,建成基于用户角色的用户权限访问控制模型,其核心思想 就是将权限与角色建立对应关系,使得某个角色拥有某些特定的权限,然后为用户分配其 所适合的角色这样用户与访问权限就相关联起来,如某个业务对象(客体)设为〇,某个用 户设为11,与该用户对应的角色设为r,用户u对业务对象(客体)〇具有的权限记为P(u,o), 通过用户u所赋予的角色r对业务对象〇的用户权限记为Pr (r (u),〇),则有如下关系: P (u,〇) = Pr (r (u),〇) 〇
[0018] 依据需求分析和数据表设计原理与方法,定义用户、角色和权限,设计用户信息 表、角色信息表和权限信息表,确定各表的字段名称、数据类型以及描述,设计各表的主外 键,将相关表通过主外键相关联。在本发明一实施例中,用户信息表的字段包括账号、密码、 所属单位、用户姓名、用户描述、所属部门、角色代码、账号添加时间等,其中账号为用户表 的主键,用以标识唯一性,角色代码为外键,用以关联角色表。用户角色信息表的字段包括 角色代码、角色名称、角色描述、模块代码、URL等,其中角色代码为角色信息表的主键,用以 标识唯一性,模块代码为外键,用以关联权限信息表。用户权限信息表定义了用户角色对某 一对象可操作的许可权,其字段包括模块代码、模块名称和权限类型等,其中模块代码为主 键,同时作为角色信息表的外键将它们关联。
[0019] 步骤S3建立功能子模块具体是根据业务需求进行功能设计,确定系统包括的各 系统功能子模块,其类型分为功能操作模块和数据操作模块,从而得到系统的功能子模块。 例如,将一个业务应用软件系统划分为数据浏览、产品下载、后台管理等功能子模块,其中 产品下载、后台管理等属于功能操作模块,数据浏览等属于数据操作模块。
[0020] 步骤S4中,各功能子模块与用户权限之间的关联关系的确定具体包括如下过程: 首先根据应用软件系统的功能设定三种类型的用户权限,分别为模块入口权限、功能操作 权限和数据操作权限;再针对每一个功能子模块设定其用户权限类型。具体是:依据功能 设计设定三种类型的用户权限,分别为模块入口权限、功能操作权限和数据操作权限。对应 每一个功能子模块,其权限除均包括模块入口权限,还包括功能操作权限或数据操作权限。 其中模块入口权限是控制用户能否进入到系统某个功能子模块,用户对系统某个功能子模 块有两种状态,一种是能够进入,另一种就是不能够进入。功能操作权限是指用户进入到某 一功能子模块后能够进行的具体操作,也包括两种状态:能够进行操作和不能够进行操作。 数据操作权限是指用户对某个对象能够进行相关的具体操作,如工作人员能够对基础数据 进行浏览、修改或删除等。然后将每一个功能子模块的权限分配给角色,通过角色与用户进 行关联。对应每一个功能子模块分配用户权限,包括模块入口权限、功能操作权限和数据操 作权限数据操作的用户角色;例如,一个业务应用软件系统包括数据浏览、产品下载和后台 管理等功能子模块,用户角色包括管理员、普通用户和领导,管理员分配有后台管理子模块 的模块入口权限、功能操作权限和数据操作权限,领导分配有产品下载子模块的模块入口 权限和功能操作权限,普通用户分配有数据浏览子模块的模块入口权限等。
[0021] 步骤S4中,模块-权限的调用接口和方法的建立是通过建立各功能子模块对应 的类来实现的,各功能子模块对应的类包括调用该功能子模块的接口和方法。在本发明一 实施例中,根据系统功能模块设计有用户登录子模块以及各业务功能子模块,如数据浏览 模块、产品下载模块和后台管理模块等,根据功能子模块设计相应的接口和方法,其目的是 实现各子模块的调用,如用户登录子模块设有用户类、权限类和密码类等,通过编程语言和 ADO. NET数据库连接技术来实现接口和方法,其各业务功能子模块的外部接口通过对用户 权限信息表中的角色代码和用户角色信息表中的模块代码相关联,应用SQL语言得到执行 结果。
[0022] 步骤S5中的模块权限配置界面包括三个板块,分别为模块入口权限配置板块、功 能操作权限配置板块和数据操作权限配置板块,界面风格大方美观并易于操作。通过模块 权限配置界面为用户权限分配功能子模块包括,为用户角色配置用户权限和为用户权限配 置功能子模块,具体是首先通过模块权限配置界面来选择要分配用户权限的用户角色可进 入的模块、可操作的功能和可操作的数据,再通过XML接口生成配置结果信息XML文件。
[0023] 步骤S6中的配置是通过调用相应的模块-权限的接口和方法进行的,具体包括如 下步骤:
[0024] S61,用户登录系统,调用密码类的接口,对用户输入的密码进行解密并与用户信 息表进行匹配比较,若密码相同则可进入系统,调用用户类的接口获取用户信息表中的数 据。
[0025] S62,通过解析步骤S5生成的配置结果信息XML文件,用得到用户的角色代码来关 联用户角色信息表中的数据,调用权限类的接口,与用户权限信息表中的角色代码和用户 角色信息表中的模块代码进行关联,得到用户权限,从而获得该角色对应的特定的功能操 作和数据操作等功能子模块。
[0026] 本发明的有益效果为:
[0027] 发明提供一种软件开发中基于用户权限配置系统功能的方法,通过用户权限来配 置系统功能,从而使得开发出的软件实现用户根据自身业务需求或自身权限对系统数据 进行访问和对系统功能进行操作,解决不同权限的用户数据安全访问以及高效操作系统功 能的问题,实现系统用户依据自身所具有的权限对数据进行访问以及根据自己的业务需求 对系统功能的高效操作,实现基于角色的个性化业务功能,从而提供工作效率和工作质量。

【专利附图】

【附图说明】
[0028] 图1是本发明一实施例的流程图;
[0029] 图2是本发明一实施例用户、角色与权限之间联系的示意图;
[0030] 图3是本发明一实施例中模块权限配置界面的截图;
[0031] 图4是本发明一实施例在一软件系统开发中应用本发明方法的流程图;

【具体实施方式】
[0032] 下面结合附图和【具体实施方式】,对本发明进行进一步详细描述,但不以任何方式 限制本发明的范围。
[0033] 本发明提供一种基于用户权限配置系统功能的软件开发方法,该方法通过用户权 限来配置系统功能,从而使得开发出的软件实现用户根据自身业务需求或自身权限对系 统数据进行访问和对系统功能进行操作,图1为本实施例中用户权限功能配置流程图,包 括如下步骤:
[0034] S1,将用户进行分类,确定用户角色,包括:
[0035] 通过对业务系统的需求分析,了解系统记录和查询人员的主要信息,以及部门和 岗位等人员信息。根据不同职能分布在不同部门的信息,从岗位的角度来对用户进行分类, 依据不同工作岗位性质确定用户角色,可分为管理员、普通用户、调度员、领导等角色。其 中,管理员主要是管理系统后台,维护与更新数据库,对用户进行权限分配等操作,普通用 户在权限范围内进行数据的查询、产品的浏览与下载等操作,调度人员在权限范围内进行 项目的跟进,分配等操作,领导具有最高权限,可进入系统任意模块,进行功能模块操作,浏 览和下载最高密级程度的数据、产品等。
[0036] S2,为用户角色分配用户权限,建立基于角色的权限访问控制模型:
[0037] 在确定用户角色后,设计用户信息表和角色信息表,作为S2中为用户角色分配用 户权限的基础,最终建立基于角色的权限访问控制模型,具体包括如下步骤:
[0038] S21,基于角色的权限访问控制模型的基本思想是将访问许可权分配给一定的角 色,用户通过饰演不同的角色获得角色所拥有的访问许可权。首先确定三种主体对象,即用 户、角色、权限,并确定三种对象的关联以及它们之间的关系的定义,其中用户与角色是多 对一的关系,通过用户账号关联用户表和角色表,角色与权限之间呈现多对多关系,用户与 权限之间的联系通过角色来实现,这样就建立基于角色的权限访问控制模型,权限的访问 通过角色来控制。图2是本实施例中用户、角色与权限之间联系的示意图。
[0039] S22,依据需求分析和数据表设计原理与方法,定义用户、角色和权限,设计用户信 息表、角色信息表以及权限信息表,确定各表的字段名称、数据类型以及描述,设计各表的 主外键,将相关表通过主外键相关联。例如可设计用户信息表字段包括账号、密码、所属单 位、用户姓名、用户描述、所属部门、角色代码、账号添加时间等,其中账号为用户表的主键, 用以标识唯一性,角色代码为外键,用以关联角色表。角色信息表字段包括角色代码、角色 名称、角色描述、模块代码、URL等,其中角色代码为角色表的主键,用以标识唯一性。权限 是对某一数据对象可操作的权利,字段包括角色代码、模块名称和控件类型等。
[0040] S23,确定三种对象之间的关系,构建基于角色的权限访问控制模型,即角色跟用 户之间是一对多的关系;用户跟权限之间没有直接关系,通过主外键相关联以及角色作 为桥梁来建立用户与权限之间的关系,建成基于角色的权限访问控制模型,如某个用户u 对某个业务对象〇具有的权限记为P(U, 0),则有如下关系:P(u, 0) = Pr (r (u), 0),其中, Pr (r (u),〇)是通过用户u所赋予的角色r对业务对象〇的权限。
[0041] S3,建立功能子模块,确定各功能子模块与用户权限之间的关联关系,具体包括如 下步骤:
[0042] S31,根据业务需求进行功能设计,确定业务系统各子系统功能模块、具体操作模 块以及数据操作模块,得到系统功能模块结构图。
[0043] S32,依据功能设计确定三种权限定义,分别为模块入口权限、功能操作权限、数据 操作权限。其中模块入口权限是控制用户能否进入到系统某个功能模块,用户对系统某个 功能模块有两种状态,一种是能够进入,另一种就是不能够进入。功能操作权限是指用户进 入到某一功能模块后能够进行的某些具体操作,也包括两种状态:能够进行操作和不能够 进行操作。数据操作权限是指用户对某个对象能够进行相关的操作,如工作人员能够对基 础数据进行浏览、修改或删除等。
[0044] S33,建立各功能子模块与用户权限之间的关联关系,具体包括:针对业务系统功 能设计,通过编程语言实现各功能模块,给每一个功能模块分配一个能够修改数据的角色, 如将一个业务系统划分为数据浏览、产品下载、后台管理等功能模块,给管理员分配能够进 入后台管理模块的权限,领导能够进入产品下载模块的权限,普通用户能够进入数据浏览 模块的权限。
[0045] S34,设计相应功能模块的类,提供可实现功能模块的接口和方法,如系统根据功 能模块设计用户类、权限类、密码类等,用于实现用户、角色、权限三种对象的关联,其中用 户类的外部接口通过用户信息表里用户账号实现关联,输出用户表信息,权限类外部接口 通过角色代码和模块代码相关联,实现角色具有操作功能模块权限,密码类外部接口通过 接收外部输入密码,实现对其进行判断是否符合要求。
[0046] S4,通过模块权限配置界面,为用户权限分配功能子模块,生成配置结果信息XML 文件,具体包括如下步骤:
[0047] S41,依据软件设计思想和界面设计原则,并结合业务功能,设计开发系统模块权 限配置界面,界面包括模块入口权限配置、功能操作权限以及数据操作权限三大板块,界面 设计风格大方美观、易于操作,图3是本实施例中模块权限配置界面的截图。
[0048] S42,在模块权限配置界面,为角色进行权限配置,即通过选择要分配权限的角色, 分配可进入的模块、可操作的功能以及操作的数据,通过XML接口生成配置结果信息XML文 件。本实施例中,权限配置结果信息XML文件为:
[0049] <XML> <Rolc namc=M n:MJ|Jj'|M > 〈Module name="产品管理模块"> 〈Operate named,浏览n URL=m,> <DaUi class="公 JI "/> </Opcratc> 〈Operate namc=''下载" URL="M> <Data class=n公开n/> </Opcralc> 〈/Module〉 <Module name="合同管理模块"> 〈Operate namc="浏览" URL=m,> <Data class:" 公 J |:7> </Opcraic> <Operak、name:"添加" URL=""> <Daia class:"公开''/> 〈/Operate〉_
[0050] 〈/Module〉 </Rolc> <Rolc namc="领 b"' > </Rolc> </XML>
[0051] S5,解析配置结果信息XML文件,调用模块权限相对应的接口和方法,通过编程实 现用户功能权限配置,具体包括如下步骤:
[0052] S51,用户登录系统,调用密码类和接口,对输入的密码进行解密并与用户信息表 进行匹配比较,若密码相同则可进入系统,调用用户类和接口获取用户信息表里的数据。
[0053] S52,解析XML文件,通过角色代码来关联角色表信息,调用权限类和接口,与角色 代码、模块代码实现相关联,实现角色特定的功能操作和数据操作等。
[0054] 本实施例利用本发明提供的基于用户权限配置系统功能的方法开发出业务应用 软件系统,使用该软件系统的流程如图4所示,包括如下过程:
[0055] 用户通过输入密码登录系统:调用密码类对输入的密码进行解密并与用户信息表 进行匹配比较,若密码相同则可进入系统,调用用户类的接口获取用户信息表里的数据,通 过SQL语句得到角色和权限的信息,解析XML文件,通过角色代码来关联角色表信息,调用 权限类的接口,与角色代码、模块代码实现相关联,获得角色特定的功能操作和数据操作。
【权利要求】
1. 一种软件开发中基于用户权限配置系统功能的方法,其特征是,通过基于角色的权 限访问控制模型建立用户与应用软件系统功能之间的关联关系,使得开发出的应用软件系 统实现用户根据自身业务需求或自身权限对系统数据进行访问和对系统功能进行操作,包 括如下步骤: S1,获取用户在操作一应用软件系统的过程中对系统功能的需求信息,将用户进行分 类,并确定用户对应的角色和权限; 52, 确定步骤S1所述用户、角色和权限相互之间的关联关系,建立基于角色的权限访 问控制模型; 53, 建立应用软件系统的功能子模块; 54, 确定各功能子模块与权限之间的关联关系,建立模块-权限的调用接口和方法; 55, 通过模块权限配置界面,为权限分配功能子模块,生成配置结果信息XML文件; 56, 解析步骤S5所述配置结果信息XML文件,通过配置得到权限所对应的系统功能。
2. 如权利要求1所述基于用户权限配置系统功能的方法,其特征是,步骤S1所述用户 对应的角色根据用户的工作岗位来确定。
3. 如权利要求1或2任一所述基于用户权限配置系统功能的方法,其特征是,所述用户 对应的角色分为管理员、普通用户、调度员、操作工、检查员和领导。
4. 如权利要求1所述基于用户权限配置系统功能的方法,其特征是,步骤S2所述用户、 角色和权限相互之间的关联关系具体是:用户与角色是多对一的关系;角色与权限是多对 多的关系;用户与权限通过角色建立联系。
5. 如权利要求1所述基于用户权限配置系统功能的方法,其特征是,步骤S2所述建立 基于角色的权限访问控制模型具体包括:建立用户信息表和角色信息表;再根据用户信息 表和角色信息表,为角色分配权限,建立权限信息表。
6. 如权利要求5所述基于用户权限配置系统功能的方法,其特征是,所述用户信息表 的字段包括账号、密码、所属单位、用户姓名、用户描述、所属部门、角色代码和账号添加时 间,所述账号为主键,角色代码为外键,用于关联角色信息表;角色信息表的字段包括角色 代码、角色名称、角色描述、模块代码和URL,所述角色代码为角色信息表的主键;所述权限 信息表的字段包括模块代码、模块名称和权限类型,用于表示角色对某一对象可操作的许 可权。
7. 如权利要求1所述基于用户权限配置系统功能的方法,其特征是,步骤S3所述功能 子模块的类型包括功能操作模块和数据操作模块。
8. 如权利要求1所述基于用户权限配置系统功能的方法,其特征是,步骤S4所述各功 能子模块与权限之间的关联关系的确定具体包括如下过程: S41,针对每一个功能子模块设定权限类型,所述权限类型包括模块入口权限、功能操 作权限和数据操作权限,得到针对每一个功能子模块的一个或多个权限; S42,将功能子模块的每个权限分配给角色,再通过角色与用户进行关联。
9. 如权利要求1所述基于用户权限配置系统功能的方法,其特征是,步骤S5所述模块 权限配置界面包括模块入口权限配置板块、功能操作权限配置板块和数据操作权限配置板 块。
10. 如权利要求1所述基于用户权限配置系统功能的方法,其特征是,步骤S4所述模 块-权限的调用接口和方法是通过各功能子模块对应的类实现的;步骤S6所述配置是通过 调用相应的模块-权限的接口和方法进行的。
【文档编号】G06F9/44GK104090770SQ201410351010
【公开日】2014年10月8日 申请日期:2014年7月22日 优先权日:2014年7月22日
【发明者】邢廷炎, 梁梅, 刘立 申请人:中国地质大学(北京)
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1