CN110889126A - 一种优化的Web应用的权限控制方法 - Google Patents
一种优化的Web应用的权限控制方法 Download PDFInfo
- Publication number
- CN110889126A CN110889126A CN201911162209.7A CN201911162209A CN110889126A CN 110889126 A CN110889126 A CN 110889126A CN 201911162209 A CN201911162209 A CN 201911162209A CN 110889126 A CN110889126 A CN 110889126A
- Authority
- CN
- China
- Prior art keywords
- menu
- user
- role
- file
- authority
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000000903 blocking effect Effects 0.000 claims abstract description 5
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种优化的Web应用的权限控制方法,编辑菜单配置文件、菜单和权限的配置文件,并在Web应用程序启动时添加角色、角色对应的菜单,当用户对于Web资源发起访问,过滤器判断用户是否具有访问Web资源文件的权限,若有则过滤器对用户请求的Web资源放行,否则阻断访问。本发明使开发人员不用重新编写代码,只需要添加或修改菜单和权限的配置文件或菜单配置文件配置就可以实现权限控制的目的;增加了Web应用程序和Spring Security框架的灵活性,使业务更容易拓展,角色、权限管理更便捷高效;用户可以在界面上添加一个角色,在菜单和权限的配置文件中添加权限,进而在界面上的角色通过和菜单绑定、控制菜单。
Description
技术领域
本发明涉及数字信息的传输,例如电报通信的技术领域,特别涉及一种优化的Web应用的权限控制方法。
背景技术
Web应用程序是一种可以通过Web访问的应用程序,其最大好处是用户可以通过浏览器很容易的访问应用程序,不需要再安装其他软件。
目前,主流的Web应用程序的开发框架一般为Spring框架。Spring是最受欢迎的企业级Java应用程序开发框架,数以百万的来自世界各地的开发人员使用Spring框架来创建性能好、易于测试、可重用的代码,其被广泛应用于市面上的主流软件中。
Spring Security作为一个灵活和强大的身份验证、访问控制框架,用于确保基于Spring的Java Web应用程序的安全;在我们进行用户认证以及授予权限的时候,SpringSecurity通过各种各样的拦截器来控制权限的访问,从而实现安全。
现有技术中,Spring Security实现身份认证和访问控制是通过拦截器解决的。主流的Spring Security框架仅支持代码层面权限和角色的绑定,用户若要添加一个角色或权限,则需要通过开发人员添加代码来完成;另外,Spring Security框架中需要开发人员在认证配置中添加角色和权限关系,随后由认证管理器和决策管理器根据开发人员代码中编写认证配置、进而决定用户请求的Web资源是否合法。这种实现方式下,若客户要求添加某一角色或某一权限,开发人员要改认证配置才可以实现,而又因为在开发Web应用程序过程中,添加角色或菜单是一种常见的需求,这表示现有的运作表示将给开发人员带来大量的重复编程工作,工作效率低,处理时间长,且错误率上升。
发明内容
本发明解决了现有技术中,在实现身份认证和访问控制的过程中,存在大量重复编程工作的问题,提供了一种优化的Web应用的权限控制方法。
本发明所采用的技术方案是,一种优化的Web应用的权限控制方法,所述方法包括以下步骤:
步骤1:编辑菜单配置文件、菜单和权限的配置文件;
步骤2:Web应用程序启动,用户在Web应用程序界面添加角色、角色对应的菜单;
步骤3:当用户对于任一Web资源发起访问,则进行下一步;
步骤4:过滤器判断用户是否具有访问Web资源文件的权限,若有,则进行下一步,否则,阻断访问,返回步骤3;
步骤5:过滤器对用户请求的Web资源放行。
优选地,所述菜单配置文件用于修改文件记录Web应用程序的菜单和菜单的层级关系。
优选地,所述菜单和权限的配置文件用于修改文件记录菜单和URI的管理关系。
优选地,所述步骤2中,通过菜单配置文件添加菜单时,当Web应用程序检测到所述菜单配置文件的md5变更,则会将文件内容更新到数据库的菜单表中。
优选地,所述步骤4中,过滤器判断用户是否具有访问Web资源文件的权限包括以下步骤:
步骤4.1:过滤器根据用户信息,从数据库中确认对应的角色以及角色下对应的菜单A;
步骤4.2:过滤器从内存中的菜单和权限的配置文件的内容中获取菜单A对应的所有权限的列表B;
步骤4.3:过滤器判断用户请求的Web资源是否在用户被允许访问的列表B中,若是,则用户具有访问Web资源文件的权限,进行步骤5,否则,阻断访问,返回步骤3。
优选地,所述步骤4.2中,所有权限还包括免登权限。
优选地,所述免登权限包括以.js、.html、.css结尾的URL。
本发明提供了一种优化的Web应用的权限控制方法,通过编辑菜单配置文件、菜单和权限的配置文件,并在Web应用程序启动时,在Web应用程序界面添加角色、角色对应的菜单,当用户对于任一Web资源发起访问,过滤器判断用户是否具有访问Web资源文件的权限,若有,则过滤器对用户请求的Web资源放行,否则阻断访问。
本发明是对原有Spring Security框架进行的改进,将Spring Security框架中的认证管理器和决策管理器闲置,认证配置对用户访问的所有Web资源放行;客户需要添加菜单时,开发人员修改对应的菜单配置文件、菜单和权限的配置文件,客户需要添加角色时,则可以直接在Web应用程序界面添加角色及角色对应的菜单,并将数据变更具体落实在数据库中;当用户访问Web应用程序时,过滤器从数据库中获得用户对应的角色、菜单,并从内存中读取菜单和权限的配置文件中菜单和URI的对应关系,以此判断用户是否有访问某Web资源的权限。
本发明的有益效果在于:
(1)开发人员不用重新编写代码,只需要添加或修改菜单和权限的配置文件或菜单配置文件配置就可以实现权限控制的目的;
(2)增加了Web应用程序和Spring Security框架的灵活性,使业务更容易拓展,角色、权限管理更便捷高效;
(3)用户可以在界面上添加一个角色,在菜单和权限的配置文件中添加权限,进而在界面上的角色通过和菜单绑定、控制菜单。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。
本发明涉及一种优化的Web应用的权限控制方法,经菜单、权限配置和过滤器实现灵活的权限控制,用户可以通过界面或配置文件灵活处理用户认证和权限控制,而不需要程序员修改代码逻辑。
本发明中,菜单为用户在Web应用程序界面可见的所有可操作模块。
本发明中,权限配置为开发人员维护的菜单和URI的对应关系。
本发明中,过滤器为拦截器,用于验证用户请求的URI是否合法。
所述方法包括以下步骤。
步骤1:编辑菜单配置文件、菜单和权限的配置文件。
所述菜单配置文件用于修改文件记录Web应用程序的菜单和菜单的层级关系。
所述菜单和权限的配置文件用于修改文件记录菜单和URI的管理关系。
本发明中,菜单配置文件为Permission.xml文件,对其的修改和编辑为本领域技术人员容易理解的内容,如:
<object>
<id>Store</id>
<name>存储管理</name>
<url></url>
<type>2</type>
<code>TEMPLATE_QUERY</code>
<icon></icon>
<href>/system/store</href>
</object>
本领域技术人员可以依据需求自行设置。
本发明中,菜单和权限的配置文件为role.conf文件,通过role.conf编辑菜单和URI的对应关系,对其的修改和编辑为本领域技术人员容易理解的内容,如:Store=/api/cluster/disk,本领域技术人员可以依据需求自行设置。
步骤2:Web应用程序启动,用户在Web应用程序界面添加角色、角色对应的菜单。
所述步骤2中,通过菜单配置文件添加菜单时,当Web应用程序检测到所述菜单配置文件的md5变更,则会将文件内容更新到数据库的菜单表中。
本发明中,步骤2的“角色”事实上是一类用户的总称,例如用户“张三”和用户“李四”都是“运维管理员”的角色。
本发明中,角色对应的“菜单”事实上是指功能模块,如常用的word中存在“开始”、“插入”、“绘图”等功能模块,此处角色对应的菜单可以依据本领域技术人员的需求自行设置。
步骤3:当用户对于任一Web资源发起访问,则进行下一步。
步骤4:过滤器判断用户是否具有访问Web资源文件的权限,若有,则进行下一步,否则,阻断访问,返回步骤3。
所述步骤4中,过滤器判断用户是否具有访问Web资源文件的权限包括以下步骤:
步骤4.1:过滤器根据用户信息,从数据库中确认对应的角色以及角色下对应的菜单A;
步骤4.2:过滤器从内存中的菜单和权限的配置文件的内容中获取菜单A对应的所有权限的列表B;
所述步骤4.2中,所有权限还包括免登权限。
所述免登权限包括以.js、.html、.css结尾的URL。
步骤4.3:过滤器判断用户请求的Web资源是否在用户被允许访问的列表B中,若是,则用户具有访问Web资源文件的权限,进行步骤5,否则,阻断访问,返回步骤3。
本发明中,步骤4.1中的用户信息一般是指作为用户唯一标识的用户ID。
步骤5:过滤器对用户请求的Web资源放行。
本发明通过编辑菜单配置文件、菜单和权限的配置文件,并在Web应用程序启动时,在Web应用程序界面添加角色、角色对应的菜单,当用户对于任一Web资源发起访问,过滤器判断用户是否具有访问Web资源文件的权限,若有,则过滤器对用户请求的Web资源放行,否则阻断访问。
本发明是对原有Spring Security框架进行的改进,将Spring Security框架中的认证管理器和决策管理器闲置,认证配置对用户访问的所有Web资源放行;客户需要添加菜单时,开发人员修改对应的菜单配置文件、菜单和权限的配置文件,客户需要添加角色时,则可以直接在Web应用程序界面添加角色及角色对应的菜单,并将数据变更具体落实在数据库中;当用户访问Web应用程序时,过滤器从数据库中获得用户对应的角色、菜单,并从内存中读取菜单和权限的配置文件中菜单和URI的对应关系,以此判断用户是否有访问某Web资源的权限。
本发明中,开发人员不用重新编写代码,只需要添加或修改菜单和权限的配置文件或菜单配置文件配置就可以实现权限控制的目的;增加了Web应用程序和SpringSecurity框架的灵活性,使业务更容易拓展,角色、权限管理更便捷高效;用户可以在界面上添加一个角色,在菜单和权限的配置文件中添加权限,进而在界面上的角色通过和菜单绑定、控制菜单。
Claims (7)
1.一种优化的Web应用的权限控制方法,其特征在于:所述方法包括以下步骤:
步骤1:编辑菜单配置文件、菜单和权限的配置文件;
步骤2:Web应用程序启动,用户在Web应用程序界面添加角色、角色对应的菜单;
步骤3:当用户对于任一Web资源发起访问,则进行下一步;
步骤4:过滤器判断用户是否具有访问Web资源文件的权限,若有,则进行下一步,否则,阻断访问,返回步骤3;
步骤5:过滤器对用户请求的Web资源放行。
2.根据权利要求1所述的一种优化的Web应用的权限控制方法,其特征在于:所述菜单配置文件用于修改文件记录Web应用程序的菜单和菜单的层级关系。
3.根据权利要求1所述的一种优化的Web应用的权限控制方法,其特征在于:所述菜单和权限的配置文件用于修改文件记录菜单和URI的管理关系。
4.根据权利要求1所述的一种优化的Web应用的权限控制方法,其特征在于:所述步骤2中,通过菜单配置文件添加菜单时,当Web应用程序检测到所述菜单配置文件的md5变更,则会将文件内容更新到数据库的菜单表中。
5.根据权利要求1所述的一种优化的Web应用的权限控制方法,其特征在于:所述步骤4中,过滤器判断用户是否具有访问Web资源文件的权限包括以下步骤:
步骤4.1:过滤器根据用户信息,从数据库中确认对应的角色以及角色下对应的菜单A;
步骤4.2:过滤器从内存中的菜单和权限的配置文件的内容中获取菜单A对应的所有权限的列表B;
步骤4.3:过滤器判断用户请求的Web资源是否在用户被允许访问的列表B中,若是,则用户具有访问Web资源文件的权限,进行步骤5,否则,阻断访问,返回步骤3。
6.根据权利要求5所述的一种优化的Web应用的权限控制方法,其特征在于:所述步骤4.2中,所有权限还包括免登权限。
7.根据权利要求6所述的一种优化的Web应用的权限控制方法,其特征在于:所述免登权限包括以.js、.html、.css结尾的URL。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911162209.7A CN110889126A (zh) | 2019-11-25 | 2019-11-25 | 一种优化的Web应用的权限控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911162209.7A CN110889126A (zh) | 2019-11-25 | 2019-11-25 | 一种优化的Web应用的权限控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110889126A true CN110889126A (zh) | 2020-03-17 |
Family
ID=69748606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911162209.7A Pending CN110889126A (zh) | 2019-11-25 | 2019-11-25 | 一种优化的Web应用的权限控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110889126A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035867A (zh) * | 2020-11-06 | 2020-12-04 | 成都掌控者网络科技有限公司 | 一种Web应用权限管理方法、系统、设备及存储介质 |
CN112115034A (zh) * | 2020-08-20 | 2020-12-22 | 胜宏科技(惠州)股份有限公司 | 一种自动清理、分配InCAM License系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682240A (zh) * | 2012-05-16 | 2012-09-19 | 河南辉煌科技股份有限公司 | 大型bs结构系统中对资源的控制方法 |
CN103632082A (zh) * | 2013-12-10 | 2014-03-12 | 惠州华阳通用电子有限公司 | 一种通用权限管理系统及方法 |
CN105653910A (zh) * | 2015-12-28 | 2016-06-08 | 芜湖美智空调设备有限公司 | 用户访问系统的控制方法和装置 |
CN106657046A (zh) * | 2016-12-13 | 2017-05-10 | 飞狐信息技术(天津)有限公司 | 可配置的细粒度权限控制方法及装置 |
CN108600177A (zh) * | 2018-03-27 | 2018-09-28 | 北京明朝万达科技股份有限公司 | 一种权限控制方法和装置 |
CN110457629A (zh) * | 2019-07-19 | 2019-11-15 | 口碑(上海)信息技术有限公司 | 权限处理、权限控制方法及装置 |
-
2019
- 2019-11-25 CN CN201911162209.7A patent/CN110889126A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682240A (zh) * | 2012-05-16 | 2012-09-19 | 河南辉煌科技股份有限公司 | 大型bs结构系统中对资源的控制方法 |
CN103632082A (zh) * | 2013-12-10 | 2014-03-12 | 惠州华阳通用电子有限公司 | 一种通用权限管理系统及方法 |
CN105653910A (zh) * | 2015-12-28 | 2016-06-08 | 芜湖美智空调设备有限公司 | 用户访问系统的控制方法和装置 |
CN106657046A (zh) * | 2016-12-13 | 2017-05-10 | 飞狐信息技术(天津)有限公司 | 可配置的细粒度权限控制方法及装置 |
CN108600177A (zh) * | 2018-03-27 | 2018-09-28 | 北京明朝万达科技股份有限公司 | 一种权限控制方法和装置 |
CN110457629A (zh) * | 2019-07-19 | 2019-11-15 | 口碑(上海)信息技术有限公司 | 权限处理、权限控制方法及装置 |
Non-Patent Citations (2)
Title |
---|
ZHAOJIATAO: "《springboot学习笔记:11.springboot+shiro+mysql+mybatis(通用mapper)+freemarker+ztree+layui实现通用的java后台管理系统(权限管理+用户管理+菜单管理)》", 《HTTPS://WWW.CNBLOGS.COM/ZHAOJIATAO/P/8482998.HTML》 * |
小石榴: "《Spring Security(六):前端菜单,角色权限页面的搭建》", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/55823589》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115034A (zh) * | 2020-08-20 | 2020-12-22 | 胜宏科技(惠州)股份有限公司 | 一种自动清理、分配InCAM License系统及方法 |
CN112035867A (zh) * | 2020-11-06 | 2020-12-04 | 成都掌控者网络科技有限公司 | 一种Web应用权限管理方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4034998B1 (en) | User-specific data manipulation system for object storage service based on user-submitted code | |
US8620879B2 (en) | Cloud based file storage service | |
EP3278535B1 (en) | Nested namespaces for selective content sharing | |
US6263442B1 (en) | System and method for securing a program's execution in a network environment | |
US7249379B2 (en) | Method and apparatus for implementing process-based security in a computer system | |
CN106471466B (zh) | 短暂应用 | |
US11023416B2 (en) | Data access control system for object storage service based on owner-defined code | |
US9195840B2 (en) | Application-specific file type generation and use | |
CN114586010B (zh) | 对象存储服务的输出路径中对象过滤代码的按需执行 | |
CN103036871B (zh) | 浏览器应用插件支持装置和方法 | |
US20210097193A1 (en) | Code execution environment customization system for object storage service | |
CN100419620C (zh) | 一种usb海量存储设备上应用程序与usb海量存储设备进行命令交互和双向数据传输的方法 | |
US8370957B2 (en) | Method and apparatus for transmitting contents with limited system permissions | |
US20210097189A1 (en) | User-specific data manipulation system for object storage service based on user-submitted code | |
WO2007126701A1 (en) | Isolated access to named resources | |
JP4848430B2 (ja) | 仮想役割 | |
CN101369302B (zh) | 一种控制信息安全设备访问权限的方法和系统 | |
KR20140041499A (ko) | 격리된 애플리케이션을 위한 중개된 아이템 액세스 기법 | |
CN110889126A (zh) | 一种优化的Web应用的权限控制方法 | |
CN104639599A (zh) | 一种实现文件批量下载的系统及方法 | |
US8595805B2 (en) | Method and system for policy driven data disclosure | |
CN102930231A (zh) | 管理策略 | |
Wobber et al. | Authorizing applications in singularity | |
EP1124183A1 (en) | Method for managing globally distributed software components | |
EP2045756A2 (en) | Method and apparatus for transmitting contents with limited system permissions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200317 |