CN110378099A - 一种菜单授权方法 - Google Patents

一种菜单授权方法 Download PDF

Info

Publication number
CN110378099A
CN110378099A CN201910666186.7A CN201910666186A CN110378099A CN 110378099 A CN110378099 A CN 110378099A CN 201910666186 A CN201910666186 A CN 201910666186A CN 110378099 A CN110378099 A CN 110378099A
Authority
CN
China
Prior art keywords
menu
user
role
management
information
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
Application number
CN201910666186.7A
Other languages
English (en)
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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN201910666186.7A priority Critical patent/CN110378099A/zh
Publication of CN110378099A publication Critical patent/CN110378099A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明特别涉及一种菜单授权方法。该菜单授权方法,包括用户管理,角色管理,菜单管理和菜单查询四部分,所述用户管理包括对用户的创建,删除,映射菜单和映射角色,所述角色管理包括对角色的创建,删除,映射菜单和映射用户,所述菜单管理包括对菜单的创建,删除和修改,所述菜单查询是在用户登录系统时查询所授权的菜单。该菜单授权方法,将微服务架构特点与传统菜单授权方法相结合,直接使用单点登录系统中的用户数据,结合本地数据库存储角色、菜单等信息,使其在微服务架构中菜单授权功能更加适用,提高了用户菜单管理效率。

Description

一种菜单授权方法
技术领域
本发明涉及基于单点登录的管理软件系统技术领域,特别涉及一种菜单授权方法。
背景技术
菜单授权功能是系统常见的功能,通过菜单授权可以给不同的用户分配不同的菜单,进而达到不同的用户具有不同的功能操作目的。
所谓菜单授权功能可简单理解为访问控制,在用户身份认证通过后,系统对用户访问菜单或按钮进行控制。也就是说,该用户有身份进入系统了,但他不一定能访问系统里的所有菜单或按钮,而他只能访问管理员给他分配的权限菜单或按钮。
菜单权重是指什么样的用户或管理员可以操作或访问什么级别的菜单,对菜单的权重级别进行划分,比如:比较重要敏感的菜单,只有管理员才可以拥有。如下:
1、超级管理员可以访问二级管理员、系统管理员、超级管理员权重的菜单,但不允许访问默认权限(业务菜单);
2、系统管理员可以访问超级管理员指定给他的系统管理员及以下权限的部分菜单;
3、二级管理员可以访问超级或系统管理员指定给他的二级管理员及以下的部分菜单;
4、普通用户只能访问管理员指定给他的默认权重的菜单。
为了更好的提高授权安全,不能越级授权,权限互相牵制,在设置会影响角色授权菜单的菜单权重时,列出的菜单和权限列表如下:
1、如果当前用户管理身份为二级管理员,则列出的是二级管理员菜单权重以下的菜单;
2、如果当前用户管理员身份是系统管理,则列出的是系统管理员菜单权重以下的菜单;
3、如果当前用户管理员身份是超级管理员,则列出的是超级管理员菜单权重下的菜单。
其中,超级管理员主要为开发者使用的最高级别管理员,主要用于开发和调试,有些修改会直接影响系统的正常运行。
系统管理员主要为客户方使用的管理员,用于一些基础数据配置,如机构、用户、权限、用户字典等,默认账号为admin。
二级管理员是由系统管理员指定的,可以分担系统管理员的工作,可以管理用户、分配菜单权限和操作权限一种特殊角色,但它仅具备系统管理员指定范围的管理数据。
菜单授权功能支持以下几种授权模式:
1、编程式:通过if/else代码块来完成。
2、注解式:通过在执行的方法上放置相应的注解来完成,没有权限则抛出相应异常。
3、视图页面:在JSP/GSP页面通过相应的标签完成。
4、基于URI拦截:根据URI匹配,决定访问权限。
在企业众多的应用系统中,如果每个应用都有独立的用户认证和权限管理,这不仅需要维护多套用户管理系统,用户使用每个系统也非常的不便。如果能够将所有应用系统的用户集中管理,用户使用一套用户名登录所有系统,将会大大改善用户体验。
传统的菜单授权采用角色-用户,角色拥有若干菜单,用户信息、角色信息、菜单信息都存放到数据库里,这种方式常用于集中式系统中。
目前,微服务架构系统越来越流行,微服务系统需要有统一的用户登录及认证鉴权系统,像keycloak这种单点登录系统在微服务系统用的比较多。
Keycloak是为现代应用和服务提供了开源IAM(Identity and AccessManagement)解决方案。下面简单的介绍几种功能:
1、SSO
通过Keycloak处理用户认证,意味着你的应用不需要处理登录界面,认证用户,存储用户信息。一旦登录Keycloak,用户不需要再次登录Keycloak管理下的其它应用。实现一次登录,多处登录不同应用,一处登出,所有应用登出。
2、Identity Brokering and Social Login
Keycloak通过配置,可实现对不同身份认证服务的集成,通过这些身份认证服务登录应用。
3、User Federation
在企业系统中有使用LDAP/AD管理用户,同样,Keycloak提供了对LDAP/AD的集成方案,可以方便的同步用户。
4、Client Adapters
Keycloak提供了不同平台多种语言的支持,支持标准的OpenID Connect,OAuth2.0,and SAML等。
5、后台管理
Keycloak不仅提供了后台管理界面,同时还有CLI,和RESTFul API方式管理后台。
基于此,本发明提出了一种菜单授权方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的菜单授权方法。
本发明是通过如下技术方案实现的:
一种菜单授权方法,其特征在于:包括用户管理,角色管理,菜单管理和菜单查询四部分,所述用户管理包括对用户的创建,删除,映射菜单和映射角色,所述角色管理包括对角色的创建,删除,映射菜单和映射用户,所述菜单管理包括对菜单的创建,删除和修改,所述菜单查询是在用户登录系统时查询所授权的菜单。
搭建keycloak系统作为所述用户管理中用户的存储和创建,keycloak系统作为一个开源的单点登录系统,适合应用于微服务架构中的用户的认证和鉴权。
所述用户管理中,还需要在数据库中创建一个用户-菜单表,用于存储用户拥有的菜单信息。
所述角色管理中,需要在数据库中创建角色表和角色-菜单表,所述角色表用于存储角色的相关信息,所述角色-菜单表用于存储角色拥有的菜单信息。
从keycloak系统查询用户数据,并在用户属性中添加角色属性,在角色属性中关联角色从而达到角色映射用户的目的。
所述菜单管理中,需要创建菜单表用于存储菜单信息,所述菜单信息包括菜单的名称,菜单级别,上一级菜单,菜单路径和排序信息。
所述菜单查询中,菜单以树形图进行显示,树形图显示便于操作者简单明了菜单的层级关系和归属。
用户在keycloak系统登录后,查询得到用户信息数据,首先查询用户-菜单表中该用户拥有的菜单,然后根据用户信息中包含的角色信息查询角色-菜单表中的菜单,将两个集合中的菜单进行合并和去重,即可得到该用户被授权的菜单。
本发明的有益效果是:该菜单授权方法,将微服务架构特点与传统菜单授权方法相结合,直接使用单点登录系统中的用户数据,结合本地数据库存储角色、菜单等信息,使其在微服务架构中菜单授权功能更加适用,提高了用户菜单管理效率。
附图说明
附图1为本发明菜单授权方法数据模型示意图。
附图2为本发明菜单授权方法示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该菜单授权方法,包括用户管理,角色管理,菜单管理和菜单查询四部分,所述用户管理包括对用户的创建,删除,映射菜单和映射角色,所述角色管理包括对角色的创建,删除,映射菜单和映射用户,所述菜单管理包括对菜单的创建,删除和修改,所述菜单查询是在用户登录系统时查询所授权的菜单。
搭建keycloak系统作为所述用户管理中用户的存储和创建,keycloak系统作为一个开源的单点登录系统,适合应用于微服务架构中的用户的认证和鉴权。
所述用户管理中,还需要在数据库中创建一个用户-菜单表,用于存储用户拥有的菜单信息。
所述角色管理中,需要在数据库中创建角色表和角色-菜单表,所述角色表用于存储角色的相关信息,所述角色-菜单表用于存储角色拥有的菜单信息。
从keycloak系统查询用户数据,并在用户属性中添加角色属性,在角色属性中关联角色从而达到角色映射用户的目的。
所述菜单管理中,需要创建菜单表用于存储菜单信息,所述菜单信息包括菜单的名称,菜单级别,上一级菜单,菜单路径和排序信息。
所述菜单查询中,菜单以树形图进行显示,树形图显示便于操作者简单明了菜单的层级关系和归属。
用户在keycloak系统登录后,查询得到用户信息数据,首先查询用户-菜单表中该用户拥有的菜单,然后根据用户信息中包含的角色信息查询角色-菜单表中的菜单,将两个集合中的菜单进行合并和去重,即可得到该用户被授权的菜单。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (8)

1.一种菜单授权方法,其特征在于:包括用户管理,角色管理,菜单管理和菜单查询四部分,所述用户管理包括对用户的创建,删除,映射菜单和映射角色,所述角色管理包括对角色的创建,删除,映射菜单和映射用户,所述菜单管理包括对菜单的创建,删除和修改,所述菜单查询是在用户登录系统时查询所授权的菜单。
2.根据权利要求1所述的菜单授权方法,其特征在于:搭建keycloak系统作为所述用户管理中用户的存储和创建,keycloak系统作为一个开源的单点登录系统,适合应用于微服务架构中的用户的认证和鉴权。
3.根据权利要求2所述的菜单授权方法,其特征在于:所述用户管理中,还需要在数据库中创建一个用户-菜单表,用于存储用户拥有的菜单信息。
4.根据权利要求1所述的菜单授权方法,其特征在于:所述角色管理中,需要在数据库中创建角色表和角色-菜单表,所述角色表用于存储角色的相关信息,所述角色-菜单表用于存储角色拥有的菜单信息。
5.根据权利要求4所述的菜单授权方法,其特征在于:从keycloak系统查询用户数据,并在用户属性中添加角色属性,在角色属性中关联角色从而达到角色映射用户的目的。
6.根据权利要求1所述的菜单授权方法,其特征在于:所述菜单管理中,需要创建菜单表用于存储菜单信息,所述菜单信息包括菜单的名称,菜单级别,上一级菜单,菜单路径和排序信息。
7.根据权利要求1所述的菜单授权方法,其特征在于:所述菜单查询中,菜单以树形图进行显示,树形图显示便于操作者简单明了菜单的层级关系和归属。
8.根据权利要求7所述的菜单授权方法,其特征在于:用户在keycloak系统登录后,查询得到用户信息数据,首先查询用户-菜单表中该用户拥有的菜单,然后根据用户信息中包含的角色信息查询角色-菜单表中的菜单,将两个集合中的菜单进行合并和去重,即可得到该用户被授权的菜单。
CN201910666186.7A 2019-07-23 2019-07-23 一种菜单授权方法 Pending CN110378099A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910666186.7A CN110378099A (zh) 2019-07-23 2019-07-23 一种菜单授权方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910666186.7A CN110378099A (zh) 2019-07-23 2019-07-23 一种菜单授权方法

Publications (1)

Publication Number Publication Date
CN110378099A true CN110378099A (zh) 2019-10-25

Family

ID=68255090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910666186.7A Pending CN110378099A (zh) 2019-07-23 2019-07-23 一种菜单授权方法

Country Status (1)

Country Link
CN (1) CN110378099A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753264A (zh) * 2020-07-01 2020-10-09 电子科技大学 一种基于Oauth 2.0的高校移动应用通用授权认证系统
CN115455390A (zh) * 2022-09-21 2022-12-09 六合熙诚(北京)信息科技有限公司 一种用户权限管理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373726A (zh) * 2014-08-18 2016-03-02 南京普爱射线影像设备有限公司 一种用户权限管理系统
CN109784033A (zh) * 2018-12-13 2019-05-21 平安科技(深圳)有限公司 基于页面菜单的操作权限动态配置方法及相关设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373726A (zh) * 2014-08-18 2016-03-02 南京普爱射线影像设备有限公司 一种用户权限管理系统
CN109784033A (zh) * 2018-12-13 2019-05-21 平安科技(深圳)有限公司 基于页面菜单的操作权限动态配置方法及相关设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753264A (zh) * 2020-07-01 2020-10-09 电子科技大学 一种基于Oauth 2.0的高校移动应用通用授权认证系统
CN111753264B (zh) * 2020-07-01 2023-11-21 电子科技大学 一种基于Oauth 2.0的高校移动应用通用授权认证系统
CN115455390A (zh) * 2022-09-21 2022-12-09 六合熙诚(北京)信息科技有限公司 一种用户权限管理方法及系统

Similar Documents

Publication Publication Date Title
US11038867B2 (en) Flexible framework for secure search
CA2649862C (en) Translating role-based access control policy to resource authorization policy
US9251364B2 (en) Search hit URL modification for secure application integration
US8352475B2 (en) Suggested content with attribute parameterization
US8875249B2 (en) Minimum lifespan credentials for crawling data repositories
US8332430B2 (en) Secure search performance improvement
US8433712B2 (en) Link analysis for enterprise environment
US8027982B2 (en) Self-service sources for secure search
US8868540B2 (en) Method for suggesting web links and alternate terms for matching search queries
US8595255B2 (en) Propagating user identities in a secure federated search system
US8005816B2 (en) Auto generation of suggested links in a search system
EP2405607B1 (en) Privilege management system and method based on object
US20070214129A1 (en) Flexible Authorization Model for Secure Search
CN105871914A (zh) 客户关系管理系统访问控制方法
CN110378099A (zh) 一种菜单授权方法
CN114218177A (zh) 信息处理方法及装置、计算机可读存储介质、处理器
Ashley et al. An implementation of a secure version of NFS including rbac
Hitz et al. File System Security: Secure Network Data Sharing for NT and Unix.

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

Application publication date: 20191025

RJ01 Rejection of invention patent application after publication