[发明专利]一种基于反向代理模式的访问控制方法有效
申请号: | 201811241311.1 | 申请日: | 2018-10-24 |
公开(公告)号: | CN109120722B | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | 刘康涛 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;H04L9/06 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 王雪芬 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 反向 代理 模式 访问 控制 方法 | ||
本发明涉及一种基于反向代理模式的访问控制方法,涉及访问控制技术领域。本发明通过对用户、角色、资源之间关系的设计,基于反向代理模式,以角色作为授权基本单位实现了一种访问控制方法,该方法可在不影响原有服务器的情况下仅需修改几条配置就可以增加新的服务,提高了服务部署的灵活性。
技术领域
本发明涉及访问控制技术领域,具体涉及一种基于反向代理模式的访问控制方法。
背景技术
在对外提供服务的服务器或服务器集群上存放着几乎所有的资源。不同级别的用户拥有不同级别的权限可以访问不同的资源。使用访问控制技术可以对资源进行组织、托管并对外提供唯一的访问入口。对于某一资源的请求根据设置的策略进行判断,然后根据结果允许或禁止该请求对资源的操作。
访问控制是按照用户身份及其所归属的某项定义组来限制用户对于某些信息的访问,或限制对某些控制功能而使用的一种技术,存在于几乎所有的系统之中。访问控制技术的目的时阻止非法的主体对资源的非法访问,防止合法的用户对资源的非授权访问。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何在不影响原有服务器的情况下仅需修改几条配置就可以增加新的服务,提高服务部署的灵活性。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于反向代理模式的访问控制方法,包括以下步骤:
步骤一、对角色的权限、资源与角色关系进行设计:
在设置资源时,将资源与一个或多个角色相关联,同时角色也与同一个或多个资源进行关联,资源和角色之间是多对多的关系,当用户拥有一个角色时,该用户对于和该角色关联的资源进行的访问都是合法的,当用户不拥有该角色时,该用户对该角色关联的资源进行的访问都是非法的;资源与角色之间的关联是动态的,资源可在原有关联角色的基础上增加新的关联角色或减少关联角色,角色也可以在原有关联的资源基础上增加或减少关联的资源,一个资源可以分属不同的角色,一个角色可以拥有不同的资源;
步骤二、对用户的权限进行设计:
用户属于一个用户组,用户可以完整继承该用户组所拥有的角色,一个用户只能存在一个用户组中,不能同时属于不同的用户组;
用户组可以同时拥有不同的角色,同一个角色也可属于不同的用户组用户组与角色之间属于多对多的关系,并且这种关系是动态的,角色与用户组之间的联系可以改变;用户除了从所属的用户组继承继承而来的角色外,还可单独配置自己的角色,用户实际拥有的角色为所属用户组的角色与单独配置的角色的并集,这个并集为该用户拥有的所有角色,通过该角色的并集查找资源就可确定该用户可以合法访问的资源;
步骤三、设计反向代理模块:
反向代理模块通过自身开放请求入口,将真实服务器隐藏,用户无法直接访问在反向代理之后的真实服务器,只能通过反向代理间接访问真实服务器上的资源,反向代理模块首先会将用户请求的报文进行解包处理,分析其中的请求内容,然后根据用户的请求内容重新组合新请求报文发往真实服务器,此时的源已经变为反向代理,目的是真实服务器;在反向代理模块解析阶段可获得用户请求的全部内容,并且新的请求报文是由反向代理模块重新组合的;
步骤四、对授权管理模块进行设计:授权管理模块是单独的一个进程,用来管理注册用户的信息,用户登陆时,存储登陆用户的信息,并执行用户登陆超时管理及请求的合法性检查功能;授权管理模块在用户登陆时会根据登陆用户的角色确定该用户的合法访问资源,并将关于登陆用户的一些信息及全部可合法访问的资源的特征存入一张登陆用户的哈希表中;
步骤五、基于步骤一至步骤四的设计执行访问控制流程。
优选地,步骤五包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811241311.1/2.html,转载请声明来源钻瓜专利网。