CN102682240A - 大型bs结构系统中对资源的控制方法 - Google Patents

大型bs结构系统中对资源的控制方法 Download PDF

Info

Publication number
CN102682240A
CN102682240A CN2012101511823A CN201210151182A CN102682240A CN 102682240 A CN102682240 A CN 102682240A CN 2012101511823 A CN2012101511823 A CN 2012101511823A CN 201210151182 A CN201210151182 A CN 201210151182A CN 102682240 A CN102682240 A CN 102682240A
Authority
CN
China
Prior art keywords
menu
function
authority
url
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012101511823A
Other languages
English (en)
Other versions
CN102682240B (zh
Inventor
宋帅杰
陈路全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Henan Splendor Science and Technology Co Ltd
Original Assignee
Henan Splendor Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Henan Splendor Science and Technology Co Ltd filed Critical Henan Splendor Science and Technology Co Ltd
Priority to CN201210151182.3A priority Critical patent/CN102682240B/zh
Publication of CN102682240A publication Critical patent/CN102682240A/zh
Application granted granted Critical
Publication of CN102682240B publication Critical patent/CN102682240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供一种大型BS结构系统中对资源的控制方法,主要在于如何判断是否有权限访问URL:如果菜单ID为空,表示该URL不在权限控制范围之内,通过,否则继续下一步;根据菜单ID和用户ID取出对应的权限列表,如果列表为空,则表示用户无此权限,转向权限错误页面,否则继续下一步;根据菜单ID取出菜单所有功能列表,如功能英文码不在此列表内,表示此功能不在功能控制之内,只要用户有此菜单的查看权限即可,通过,否则继续下一步;判断第二步得到的权限列表中是否包含功能英文码代码的功能,如果有则通过,否则转向权限错误页面。该方法能够将权限控制的代码进行集中,同时降低代码复杂度,有效杜绝资源漏控现象。

Description

大型BS结构系统中对资源的控制方法
技术领域
本发明涉及一种资源控制方法,具体的说,涉及了一种大型BS结构系统中对资源的控制方法。
背景技术
在任何一个大型BS结构系统开发过程中,都要涉及对用户的权限管理,目前通常使用的方法有两种,一是直接用户-权限,另一种是用户-角色-权限,但无论哪种方法都离不开对权限的定义,即对系统中的各种资源进行分解和定义。
目前通常采用的方法是将资源定义为一个字符串标识,通过该字符串能够唯一确定一种操作权限,这个权限可能是某个按钮是否可见,亦或对某些重要数据能否修改,软件开发人员在软件开发时就对权限进行定义,在编码过程中调用权限验证的代码进行判断。
这类资源控制方法有着较大的缺陷,具体分析如下:1、权限控制过于分散:在系统的开发过程中,开发人员不仅要关于业务及流程,同时也要对各种权限进行定义和控制,权限控制代码分散在系统的各个模块中,不能进行集中管理,导致权限控制过于随意化,不易做到统一管理,当模块间出现相互调用时将会出现权限不易界定的现象。2、增加了代码复杂度:因为权限部分只负责根据用户所拥有的权限对当前权限进行判定,所以软件开发人员就要编写大量的逻辑判断代码,导致系统中存在大量的判断和分支结构,增加了代码的逻辑复杂度,同时也加大了系统bug出现的概率。3、容易发生资源漏控:在系统应用的过程中,通常会分为用户界面(UI)和后台数据操作两部分,为了增强用户的体验,就需要将权限的控制在用户界面(UI)和后台数据操作进行双重控制,增加了开发人员的工作量。更有一些系统,只对用户界面进行了控制,未对后台的数据操作进行控制,这样就不可避免模拟URL访问对系统的资源进行修改,达不到保护数据安全性的目的。4、维护性差:在管理信息系统中,系统的功能一般情况下是按照菜单进行划分的,而在定义权限时只是对应的一个个特定字符串,与菜单无任何直接关系,给权限分配人员增加了维护难度。
为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
发明内容
本发明的目的是针对现有技术的不足,从而提供一种大型BS结构系统中对资源的控制方法,该控制方法能够将权限控制的代码进行集中,同时大大降低代码复杂度,有效杜绝资源漏控现象,提高权限维护界面的人性化和维护效率。
为了实现上述目的,本发明所采用的技术方案是:一种大型BS结构系统中对资源的控制方法,在于:系统中设置功能菜单,菜单为树型结构,每个菜单对应一些功能的组合,每个菜单可以有1个以上的功能,每项功能有名称和英文码;
系统使用Struts2框架处理用户请求,在编写Action类时遵循以下规则:在菜单中定义的功能项,在Action中要以英文简称做为方法名;对于同一功能有多于1个页面时,要在同一个方法内进行逻辑判断和处理;在系统中增加权限判断的Filter,对请求URL进行分析并过滤,此时URL由基础URL+功能英文码+其它参数组成,首先将URL进行分解,分解出基础URL和功能英文码,通过基础URL在菜单中查找对应的菜单,然后根据菜单+功能英文码+当前登录用户信息判定该用户是否有权限访问URL,在判断时根据以下顺序:
步骤1、如果菜单ID为空,表示该URL不在权限控制范围之内,通过,否则继续下一步;
步骤2、根据菜单ID和用户ID取出对应的权限列表,如果列表为空,则表示用户无此权限,转向权限错误页面,否则继续下一步;
步骤3、根据菜单ID取出菜单所有功能列表,如功能英文码不在此列表内,表示此功能不在功能控制之内,只要用户有此菜单的查看权限即可,通过,否则继续下一步;
步骤4、判断步骤2得到的权限列表中是否包含功能英文码代码的功能,如果有则通过,否则转向权限错误页面。
本发明相对现有技术具有突出的实质性特点和显著进步,具体的说,该方法有以下优点:
1、将权限控制代码集中,减少代码污染:采用本方法后,只需在菜单管理中增加部分代码,在权限过滤器中修改权限验证方法,即可达到对整个系统的所有资源进行控制的方法,将原来分散在各处的权限控制代码集中到一起,让程序员可以专注于业务流程的开发。
2、最大程度上避免资源漏控:本方法对系统的URL进行监控,无论是前台展示还是后台数据保存,都在本方法的控制范围之内,不存在因为程序员漏写了后台验证代码从而导致资源漏控的现象。
3、提高系统权限的可维护性:本方法中将抽象的功能具体到系统菜单上,给系统维护人员以直观的认知,达到了所见即所得的目的,让系统维护人员脱离了菜单-功能-权限对照的重复劳动,提高了系统维护人员的工作效率。
具体实施方式
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
一种大型BS结构系统中对资源的控制方法,在于:系统中设置功能菜单,菜单为树型结构,每个菜单对应一些功能的组合,每个菜单可以有1个以上的功能,每项功能有名称和英文码;
系统使用Struts2框架处理用户请求,在编写Action类时遵循以下规则:在菜单中定义的功能项,在Action中要以英文简称做为方法名;对于同一功能有多于1个页面时,要在同一个方法内进行逻辑判断和处理(如添加包括打开添加页面和保存添加信息两个功能,此时需要根据其它参数对用户请求进行判断并处理);在系统中增加权限判断的Filter,对请求URL进行分析并过滤,此时URL由基础URL+功能英文码+其它参数组成,首先将URL进行分解,分解出基础URL和功能英文码,通过基础URL在菜单中查找对应的菜单,然后根据菜单+功能英文码+当前登录用户信息判定该用户是否有权限访问URL,在判断时根据以下顺序:
步骤1、如果菜单ID为空,表示该URL不在权限控制范围之内,通过,否则继续下一步;
步骤2、根据菜单ID和用户ID取出对应的权限列表,如果列表为空,则表示用户无此权限,转向权限错误页面,否则继续下一步;
步骤3、根据菜单ID取出菜单所有功能列表,如功能英文码不在此列表内,表示此功能不在功能控制之内,只要用户有此菜单的查看权限即可,通过,否则继续下一步;
步骤4、判断步骤2得到的权限列表中是否包含功能英文码代码的功能,如果有则通过,否则转向权限错误页面。
技术原理:JavaEE开发的B/S结构程序,使用Struts2框架处理用户请求。在BS结构的系统中,任何一个功能均对应一个或多个URL,对URL进行控制就控制了系统的入口,用户不可能绕过这道防线对系统进行越权访问。所以通过本方法对URL按指定规则进行限制,最大程度上限制了用户的权限,使系统的权限控制达到了精细化的目的,而且减少了权限管理对系统其它代码的污染。系统中使用Struts2可使系统URL具有明显的可分析性,能够简单的解析出URL所代表的基础URL和功能英文码。但使用其它技术时,将本方法进行稍加改动即可适用。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。

Claims (1)

1.一种大型BS结构系统中对资源的控制方法,其特征在于:系统中设置功能菜单,菜单为树型结构,每个菜单对应一些功能的组合,每个菜单可以有1个以上的功能,每项功能有名称和英文码;系统使用Struts2框架处理用户请求,在编写Action类时遵循以下规则:在菜单中定义的功能项,在Action中要以英文简称做为方法名;对于同一功能有多于1个页面时,要在同一个方法内进行逻辑判断和处理;在系统中增加权限判断的Filter,对请求URL进行分析并过滤,此时URL由基础URL+功能英文码+其它参数组成,首先将URL进行分解,分解出基础URL和功能英文码,通过基础URL在菜单中查找对应的菜单,然后根据菜单+功能英文码+当前登录用户信息判定该用户是否有权限访问URL,在判断时根据以下顺序:步骤1、如果菜单ID为空,表示该URL不在权限控制范围之内,通过,否则继续下一步;步骤2、根据菜单ID和用户ID取出对应的权限列表,如果列表为空,则表示用户无此权限,转向权限错误页面,否则继续下一步;步骤3、根据菜单ID取出菜单所有功能列表,如功能英文码不在此列表内,表示此功能不在功能控制之内,只要用户有此菜单的查看权限即可,通过,否则继续下一步;步骤4、判断步骤2得到的权限列表中是否包含功能英文码代码的功能,如果有则通过,否则转向权限错误页面。
CN201210151182.3A 2012-05-16 2012-05-16 大型bs结构系统中对资源的控制方法 Active CN102682240B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210151182.3A CN102682240B (zh) 2012-05-16 2012-05-16 大型bs结构系统中对资源的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210151182.3A CN102682240B (zh) 2012-05-16 2012-05-16 大型bs结构系统中对资源的控制方法

Publications (2)

Publication Number Publication Date
CN102682240A true CN102682240A (zh) 2012-09-19
CN102682240B CN102682240B (zh) 2015-05-13

Family

ID=46814148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210151182.3A Active CN102682240B (zh) 2012-05-16 2012-05-16 大型bs结构系统中对资源的控制方法

Country Status (1)

Country Link
CN (1) CN102682240B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902898A (zh) * 2012-09-21 2013-01-30 中国科学院信息工程研究所 多维数字媒体的资源使用控制方法及装置
CN110688167A (zh) * 2018-07-04 2020-01-14 中国电信股份有限公司 功能链接集中生成方法和装置、计算机可读存储介质
CN110889126A (zh) * 2019-11-25 2020-03-17 杭州安恒信息技术股份有限公司 一种优化的Web应用的权限控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1971558A (zh) * 2005-11-25 2007-05-30 凌阳科技股份有限公司 一种嵌入式浏览装置及方法
US20080147736A1 (en) * 2000-03-29 2008-06-19 Mark Dane Method and apparatus for sending and tracking resume data sent via URL
CN101441688A (zh) * 2007-11-20 2009-05-27 阿里巴巴集团控股有限公司 一种用户权限分配方法和一种用户权限控制方法
CN101620601A (zh) * 2008-06-30 2010-01-06 上海全成通信技术有限公司 一种基于用户权限的目录树的构建方法
CN102110216A (zh) * 2009-12-29 2011-06-29 深圳市赛格导航科技股份有限公司 一种增强Web应用系统安全性的方法及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080147736A1 (en) * 2000-03-29 2008-06-19 Mark Dane Method and apparatus for sending and tracking resume data sent via URL
CN1971558A (zh) * 2005-11-25 2007-05-30 凌阳科技股份有限公司 一种嵌入式浏览装置及方法
CN101441688A (zh) * 2007-11-20 2009-05-27 阿里巴巴集团控股有限公司 一种用户权限分配方法和一种用户权限控制方法
CN101620601A (zh) * 2008-06-30 2010-01-06 上海全成通信技术有限公司 一种基于用户权限的目录树的构建方法
CN102110216A (zh) * 2009-12-29 2011-06-29 深圳市赛格导航科技股份有限公司 一种增强Web应用系统安全性的方法及终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杜恩宽: "《URL攻击防范和细粒度权限管理的安全链接方法》", 《计算机应用》, vol. 29, no. 8, 31 August 2009 (2009-08-31), pages 2230 - 2232 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902898A (zh) * 2012-09-21 2013-01-30 中国科学院信息工程研究所 多维数字媒体的资源使用控制方法及装置
CN102902898B (zh) * 2012-09-21 2018-05-18 中国科学院信息工程研究所 多维数字媒体的资源使用控制方法及装置
CN110688167A (zh) * 2018-07-04 2020-01-14 中国电信股份有限公司 功能链接集中生成方法和装置、计算机可读存储介质
CN110889126A (zh) * 2019-11-25 2020-03-17 杭州安恒信息技术股份有限公司 一种优化的Web应用的权限控制方法

Also Published As

Publication number Publication date
CN102682240B (zh) 2015-05-13

Similar Documents

Publication Publication Date Title
CN107403106B (zh) 基于终端用户的数据库细粒度访问控制方法
CN102981835B (zh) 安卓应用程序永久获取Root权限的方法
CN110348239A (zh) 脱敏规则配置方法以及数据脱敏方法、系统、计算机设备
CN104735091B (zh) 一种基于Linux系统的用户访问控制方法和装置
CN103559437B (zh) 用于Android操作系统的访问控制方法及系统
CN103581187A (zh) 访问权限的控制方法及控制系统
CN102231693A (zh) 访问权限的管理方法及装置
CN102945203A (zh) 一种用于移动互联网应用的代码安全测试方法
CN105335649A (zh) 一种智能终端应用程序的权限管理方法及系统
CN104486357A (zh) 一种基于ssh网站实现rbac访问权限控制的方法
CN101047701B (zh) 保证应用程序安全运行的系统和方法
CN102831355A (zh) 安全操作系统中建立可信路径的方法
CN102682240B (zh) 大型bs结构系统中对资源的控制方法
CN107566375B (zh) 访问控制方法和装置
CN202652255U (zh) 一种sql注入安全防护系统
CN112202704A (zh) 一种区块链智能合约安全防护系统
CN111431914A (zh) 一种能源互联网云平台安全防护方法及系统
CN101702724A (zh) 网络访问的安全控制方法及装置
Kim et al. Analysis of Security Vulnerabilities for IoT Devices.
CN105184149A (zh) 一种防止恶意程序频繁获取用户位置信息的方法及系统
CN102684920A (zh) 用户权限管理系统
CN111159718A (zh) 用于漏洞修复的方法及装置、家电设备
CN105760164A (zh) 一种用户空间文件系统中acl权限的实现方法
CN102043993A (zh) 一种运输管理系统的系统控制方法
CN111385253B (zh) 一种面向配电自动化系统网络安全的脆弱性检测系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant