CN110378099A - 一种菜单授权方法 - Google Patents
一种菜单授权方法 Download PDFInfo
- 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
Links
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures 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系统登录后,查询得到用户信息数据,首先查询用户-菜单表中该用户拥有的菜单,然后根据用户信息中包含的角色信息查询角色-菜单表中的菜单,将两个集合中的菜单进行合并和去重,即可得到该用户被授权的菜单。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373726A (zh) * | 2014-08-18 | 2016-03-02 | 南京普爱射线影像设备有限公司 | 一种用户权限管理系统 |
CN109784033A (zh) * | 2018-12-13 | 2019-05-21 | 平安科技(深圳)有限公司 | 基于页面菜单的操作权限动态配置方法及相关设备 |
-
2019
- 2019-07-23 CN CN201910666186.7A patent/CN110378099A/zh active Pending
Patent Citations (2)
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)
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 |