CN117938936A - 一种识别租户标识的方法、***、计算设备及介质 - Google Patents
一种识别租户标识的方法、***、计算设备及介质 Download PDFInfo
- Publication number
- CN117938936A CN117938936A CN202410024654.1A CN202410024654A CN117938936A CN 117938936 A CN117938936 A CN 117938936A CN 202410024654 A CN202410024654 A CN 202410024654A CN 117938936 A CN117938936 A CN 117938936A
- Authority
- CN
- China
- Prior art keywords
- request
- tenant
- type
- identification
- tenant identification
- 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 64
- 238000004458 analytical method Methods 0.000 claims abstract description 23
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000002955 isolation Methods 0.000 description 6
- 235000014510 cooky Nutrition 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种识别租户标识的方法、***、计算设备及介质,方法包括:获取用户发送的不同类型的请求,并获取每种请求对应的SaaS入口模式;解析和识别每种请求中的多个关键参数,并将每种请求的各个关键参数组装成为对应的租户上下文对象;对于每种类型,根据对应的SaaS入口模式,确定每个同类型的请求对应的至少一个租户标识解析器,并根据各个租户标识解析器的解析优先级,确定每个同类型的请求对应的目标解析器;对于每种类型的各个请求,利用对应的目标解析器对对应的租户上下文对象进行解析,获得每个请求对应的租户标识。解决了现有的租户标识识别方法通常固定单一,无法满足不同模式下的请求的识别需求的问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种识别租户标识的方法、***、计算设备及介质。
背景技术
在标准多租户***中,租户无论是在逻辑上还是物理上,都应存在数据隔离。为了能够让Web请求访问到不同租户的数据区,我们需要明确当前请求中的租户标识。
租户标识通常是用于识别特定租户的唯一标识。传统的租户隔离方法通常采用域名、header、参数等方式来识别租户标识,但这些方法存在一定的局限性。例如,域名识别方式需要租户使用独立的域名,header识别方式需要租户在请求中额外携带租户标识,参数识别方式需要租户在请求中指定租户标识。因此,现有的租户标识识别方法通常固定单一,无法满足不同模式下的请求的识别需求。
发明内容
为了克服现有的租户标识识别方法通常固定单一,无法满足不同模式下的请求的识别需求的问题,本发明提供了一种识别租户标识的方法、***、计算设备及介质。
第一方面,为了解决上述技术问题,本发明提供了一种识别租户标识的方法,包括:
获取用户发送的不同类型的请求,并获取每种请求对应的SaaS入口模式;
解析和识别每种请求中的多个关键参数,并将每种请求的各个关键参数组装成为对应的租户上下文对象;
对于每种类型,根据对应的SaaS入口模式,确定每个同类型的请求对应的至少一个租户标识解析器,并根据各个租户标识解析器的解析优先级,确定每个同类型的请求对应的目标解析器;
对于每种类型的各个请求,利用对应的目标解析器对对应的租户上下文对象进行解析,获得每个请求对应的租户标识。
第二方面,本发明还提供了一种识别租户标识的***,包括:
获取模块,用于获取用户发送的不同类型的请求,并获取每种请求对应的SaaS入口模式;
组装模块,用于解析和识别每种请求中的多个关键参数,并将每种请求的各个关键参数组装成为对应请求的租户上下文对象;
确定模块,用于对于每种类型,根据对应的SaaS入口模式,确定每个同类型的请求对应的至少一个租户标识解析器,并根据各个租户标识解析器的解析优先级,确定每个同类型的请求对应的目标解析器;
解析模块,用于对于每种类型的各个请求,利用对应的目标解析器对对应的租户上下文对象进行解析,获得每个请求对应的租户标识。
第三方面,本发明还提供了一种计算设备,包括存储器、处理器及存储在存储器上并在处理器上运行的程序,处理器执行程序时实现如上述的一种识别租户标识的方法的步骤。
第四方面,本发明还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在终端设备上运行时,使得终端设备执行一种识别租户标识的方法的步骤。
本发明的有益效果是:通过利用不同类型的请求对应的SaaS入口模式,使得每种类型的请求都能确定出对应的至少一个能够满足识别需求的租户标识解析器。然后通过根据各个租户标识解析器的优先级,确定出每种请求对应的目标解析器,并利用各个目标解析器对每种请求对应的租户上下文对象进行解析,确定对应的租户标识,使得除目标解析器之外的其他租户标识解析器无需对租户上下文对象进行解析,从而能够在减少数据处理量的同时,也能确定出每种请求对应的租户标识。这样,通过上述方式能够对每种SaaS入口模式对应类型的请求进行解析识别,确定每种请求对应的租户标识,从而能够满足不同模式下的请求的识别需求。
附图说明
图1为本发明一种识别租户标识的方法的流程示意图;
图2为本发明租户标识符解析器组件的结构图;
图3为本发明解析器策略集的配置示意图;
图4为本发明一种识别租户标识的方法的交互示意图;
图5为本发明一种识别租户标识的方法的另一流程示意图;
图6为本发明一种识别租户标识的***的结构示意图。
具体实施方式
下列实施例是对本发明的进一步解释和补充,对本发明不构成任何限制。
以下结合附图描述本发明实施例的一种识别租户标识的方法、***、计算设备及介质。
本发明实施例的一种识别租户标识的方法,该方法应用于终端设备,本申请方案中以终端设备为执行主体,对本申请方案进行说明,终端设备用于执行一种识别租户标识的方法的步骤。
如图1所示,本发明提供了一种识别租户标识的方法,包括:
步骤S1,获取用户发送的不同类型的请求,并获取每种请求对应的SaaS入口模式;
步骤S2,解析和识别每种请求中的多个关键参数,并将每种请求的各个关键参数组装成为对应的租户上下文对象;
步骤S3,对于每种类型,根据对应的SaaS入口模式,确定每个同类型的请求对应的至少一个租户标识解析器,并根据各个租户标识解析器的解析优先级,确定每个同类型的请求对应的目标解析器;
步骤S4,对于每种类型的各个请求,利用对应的目标解析器对对应的租户上下文对象进行解析,获得每个请求对应的租户标识。
本实施例提供的一种识别租户标识的方法,通过利用不同类型的请求对应的SaaS入口模式,使得每种类型的请求都能确定出对应的至少一个能够满足识别需求的租户标识解析器。然后通过根据各个租户标识解析器的优先级,确定出每种请求对应的目标解析器,并利用各个目标解析器对每种请求对应的租户上下文对象进行解析,确定对应的租户标识,使得除目标解析器之外的其他租户标识解析器无需对租户上下文对象进行解析,从而能够在减少数据处理量的同时,也能确定出每种类型的每个请求对应的租户标识。这样,通过上述方式能够对每种SaaS入口模式对应类型的请求进行解析识别,确定每种请求对应的租户标识,从而能够满足不同模式下的请求的识别需求。
在一些实施例中,租户标识解析器中存储有用于解析租户上下文对象的识别策略。识别策略为路径上下文匹配策略、HttpHeader匹配策略、域名匹配策略、Cookie匹配策略或HttpSession匹配策略;则,利用对应的目标解析器对对应的租户上下文对象进行解析,获得请求对应的租户标识,包括:
利用对应的路径上下文匹配策略,从对应的租户上下文对象的上下文路径中获取租户标识;或,
利用对应的HttpHeader匹配策略,从对应的租户上下文对象的头部中获取租户标识;或,
利用对应的域名匹配策略,从对应的租户上下文对象的主机中获取租户标识;或,
利用对应的Cookie匹配策略,从对应的租户上下文对象的Cookie中获取租户标识;或,
利用对应的HttpSession匹配策略,从对应的租户上下文对象的会话中获取租户标识。
表1为五种识别策略。每个识别策略都具有其特有的策略标识和描述,便于后续使用时直接进行查找。
表1
图2为本发明租户标识符解析器组件的结构图,该组件负责从HTTP请求中解析租户标识符。租户标识符是用于区分不同租户的唯一标识符。如图2所示,TenantidentifierResolverComposite,表示所有租户标识解析器的容器,它将根据请求的SaaS入口模式,选择合适的租户标识解析器。factories Map<SaasEntryMode,Function<SaasProperties,TenantidentifierResolver>>,表示将SaaS入口模式映射到租户标识解析器的构造函数。Resolvers List<TenantidentifierResolver>,表示包含所有已注册的租户标识解析器。resolve(HttpServletRequest)Optional<String>,表示将根据请求的SaaS入口模式,调用合适的租户标识解析器来获取租户标识。TenantidentifierResolver,表示一个接口,该接口表示定义了各个租户标识解析器的解析策略,它的每个实现类都是一种解析策略。resolve(HttpServletRequest)表示将从请求中获取租户标识。
其中,TenantidentifierResolver接口对应五个实现类:1、CookieTenantidentifierResolver,表示从请求中的Cookie中获取租户标识。SaasProperties,表示Saas配置项。2、CxtPathTenantidentifierResolver,表示从请求的上下文路径中获取租户标识。3、SessionTenantidentifierResolver,表示从请求的会话中获取租户标识。4、HostTenantidentifierResolver,表示从请求的主机中获取租户标识。getHost(String)String,表示获得租户标识。5、HeaderTenantidentifierResolver,表示从请求的头部中获取租户标识。
在本发明的方法执行之前,需提前对对应的配置项进行声明。表2为本发明的配置项声明。该配置项是针对不同的应用***而推出的偏好设置项。由于不同应用的鉴权体系、用户结构、会话模式的不同,需要分别实现不同的逻辑,实际使用中,需要针对应用***自身的特点来选用特定的运行模式。通过设置这些配置项,轻量化的来定制租户标识的识别逻辑。
表2
使用spring配置文件指定具体的匹配规则,如下面的配置。该配置即为上述的配置项声明中的项目,只不过是将驼峰形式的命名转换为了短横线的形式。saas是所有配置项的命名空间。例如:优先使用Header匹配,其次是上下文路径匹配,同时还指定了各个策略的配置项。对应的代码如下:
其中,TenantIdentifierResolverComposite类是所有租户标识解析器的容器。它将根据应用配置的解析策略和具体的请求,选择合适的租户标识解析器。factories属性是Map类型,将SaaS入口模式映射到租户标识解析器的构造函数。resolvers属性是List类型,包含所有已注册的租户标识解析器。
解析策略集内部实现了具体的匹配逻辑如下:
图3为本发明解析器策略集的配置示意图,如图3所示,解析器策略集通过getMatching()从SaaSProperties(SaaS配置项)获取启用的策略,得到策略枚举,开始遍历;然后get()通过枚举获取对应的策略工厂方法(factories,即策略工厂map),并filter(Objects::nonNull)过滤无法匹配的项。再factory.apppy(properties)传入属性,调用工厂方法,map()得到解析器实例对象集合从而完成解析策略集的配置初始化。
可选地,对于每种类型的请求,对于每种类型,根据对应的SaaS入口模式,确定每个同类型的请求对应的至少一个租户标识解析器,包括:
对于每种类型,在预设解析器策略集中筛选出包含有每个同类型的请求的SaaS入口模式的信息的至少一个租户标识解析器;其中,预设解析器策略集中存储有多个租户标识解析器,一个租户标识解析器中包含一种类型的SaaS入口模式的信息。
本实施例中,通过提前设置多个租户标识解析器,并将每个租户标识解析器能够解析的请求类型对应类型的SaaS入口模式的信息进行关联存储至预设解析器策略集中,使得在终端设备接收到请求的情况下,能够直接根据请求对应的SaaS入口模式在预设解析器策略集中调用对应的租户标识解析器,提高了对不同模式下的请求的识别效率,从而能够实现对不同模式下的请求的识别需求。
可选地,对于每种类型,根据请求对应的各个租户标识解析器的解析优先级,确定每个同类型的请求对应的目标解析器,包括:
对于每种类型,获取每个同类型的请求对应的每个租户标识解析器的解析优先级,并将解析优先级最高的租户标识解析器作为对应类型的请求对应的目标解析器。
本实施例中,由于每个租户标识解析器在解析对应的租户上下文对象时的速度和资源使用率均不同,因此一般需同时考虑到解析速度和解析时的资源使用率,对各个租户标识解析器的解析顺序进行排序,确定每个租户标识器的解析优先级。这样,在确定出请求对应的各个租户解析器后,将其中解析优先级最高的租户标识解析器作为请求对应的目标解析器,使得后续利用该目标解析器对对应的租户上下文对象时,考虑到了解析速度和解析时的资源使用率,从而能够在保证解析速度的同时,还能提高资源利用率。
可选地,一种识别租户标识的方法,还包括:
将每个租户标识发送至终端设备进行展示。
本实施例中,将每个租户标识发送至终端设备进行展示,便于发送请求的用户能够直观的了解到请求对应的租户标识情况。
可选地,一种识别租户标识的方法,还包括:
对于每种类型,若根据对应的SaaS入口模式,未确定出每个同类型的请求对应的租户标识解析器,则向终端设备发送响应请求异常的信息。
本实施例中,若根据请求对应的SaaS入口模式,未确定出请求对应的租户标识解析器,则获取的请求处于异常状态,使得该请求对应的SaaS入口模式无法被正常识别,因此无法确定出请求对应的租户标识解析器。此时向终端设备发送响应请求异常的信息,能够提醒用户该次发送的请求异常,便于及时对该异常进行溯源和处理。
可选地,一种识别租户标识的方法,还包括:
对于每种类型,将每个同类型的请求对应的租户标识存储至缓存中,并当每个请求结束时,将对应的租户标识从缓存中删除。
本实施例中,一般用户在发送一个请求后,终端设备会执行该请求对应的业务逻辑。在这个过程中,只在第一次发送请求时解析出对应的租户标识,并将解析出的该租户标识存储至缓存中,便于在执行该请求对应的业务逻辑时,能够直接使用该租户标识对应的数据,提高了业务逻辑的执行效率。在该请求结束时,将对应的租户标识从缓存中删除,能够及时清理缓存中的无用数据,从而能够提高缓存的资源利用率。
在一些实施例中,在需要解析租户上下文功能中,调用预定义好的租户上下文缓存,可以在首次解析后,不再重复解析,直接获取缓存的租户上下文对象。
自动生成租户上下文缓存的具体实现逻辑的代码如下:
其中,identifierResolver(租户标识解析器)的具体实现类,就是TenantIdentifierResolverComposite组合后的策略集。策略集在初始化时已经明确了哪些策略是被使用的。代码中的方法说明如下:getContext()方法用于获取当前租户上下文。bound属性是Optional<TenantContext>类型,表示当前缓存的临时租户上下文。currentRequest()方法返回当前请求。flatMap()方法将当前请求映射到TenantIdentifierResolver对象。resolve()方法从请求中获取租户标识。map()方法将租户标识映射到TenantContext对象。orElseThrow()方法如果TenantContext对象为空,则抛出异常。
图4为本发明一种识别租户标识的方法的交互示意图,如图4所示,判断请求(request)的bound属性,若该属性不为空直接返回,然后通过getContext()获取租户上下文(TenantContext),并通过
resolve(HttpServletRequest)调用租户标识解析器(TenantldentifierResolver),确定出目标解析器后对该请求的租户上下文进行结果,获得租户标识,即从请求中获取租户标识,通过resolve(HttpServletRequest)解析结果(即,该租户标识)返回。然后通过create()创建新的上下文,即创建新的TenantContext对象,若获取失败,则抛出异常,若获取成功,则通过get()得到上下文对象,并利用新的上下文对象调用租户标识解析器,确定出目标解析器后对该请求的租户上下文进行结果,获得租户标识,再通过getContext()将租户标识返回到请求,即在发送请求的前台端进行展示。
图5为本发明一种识别租户标识的方法的另一流程示意图,如图5所示,一个SaaS入口模式发起请求,则获取该请求的上下文:解析和识别请求中的关键参数,组装成为上下文对象。然后根据SaaS入口模式在策略集中遍历匹配策略:遍历所有的策略集,执行策略,返回解析结果,解析结果为可选值,可以通过判定存在来过滤结果;若遍历后无匹配项,则抛出异常,即响应请求异常,同时在异常时,直接返回异常状态码400,并告知原因。其次,找到匹配第一结果:遍历匹配时,可能匹配到一项或多项策略,在生产环境中,选择第一结果即可。此处相当于靠前的策略配置项优先级更高,将优先级最高的策略返回的解析结果作为第一结果。再次,将该第一结果放入缓存:该第一结果放入缓存中,以便下次访问能够快速获得,无需再次解析。缓存仅在单次请求的作用域内可获得,请求结束就销毁。最后响应数据:将租户的数据响应到前台,即将第一结果返回至前台端进行展示。
本发明提供了一种识别租户标识的方法,在HTTP协议下利用可配置化多模式识别租户标识,赋能***通过一到多个识别方法的任意组合,来灵活完成租户关键标识的获取。该方法通过在HTTP请求中识别租户标识,并根据租户标识进行数据库、业务逻辑等的隔离,从而实现了多租户***的安全性和数据隔离性。
本发明的方法具有以下优点:1、可配置化:可以根据需要配置租户标识的识别方式,满足不同场景的需求;2、灵活性:可以采用多种方式组合识别租户标识,提高识别的精准度;3、安全性:通过租户数据过滤,实现了对恶意请求的筛选,提高了***的安全性。本发明的方法可以应用于各种多租户***,例如SaaS***、云计算***等,本发明的方法可以与其他多租户隔离技术结合使用,提高***的安全性和数据隔离性。本发明的一种识别租户标识的方法,能够达到以下效果:1、租户标识机制在网络请求上极大程度规避了恶意攻击,必须有正确的租户标识,且每个租户的可访问资源限制在可控范围内,可以保护***高级中间件账号以及***权限。2、支持基于域名、应用上下文、session会话、Http Header、Cookie五种租户标识策略,能够任意组合策略标识租户,且不存在额外的性能损耗,为第三方***接入提供了极大的可扩展性和便利性。3、支持单次应用启动后策略的静态化,并能够一次解析后缓存解析结果,拥有很高的性能,可以用于高并发的生产环境中。
如图6所示,本发明提供了一种识别租户标识的***,包括:
获取模块,用于获取用户发送的不同类型的请求,并获取每种请求对应的SaaS入口模式;
组装模块,用于解析和识别每种请求中的多个关键参数,并将每种请求的各个关键参数组装成为对应请求的租户上下文对象;
确定模块,用于对于每种类型,根据对应的SaaS入口模式,确定每个同类型的请求对应的至少一个租户标识解析器,并根据各个租户标识解析器的解析优先级,确定每个同类型的请求对应的目标解析器;
解析模块,用于对于每种类型的各个请求,利用对应的目标解析器对对应的租户上下文对象进行解析,获得每个请求对应的租户标识。
可选地,确定模块,具体用于:
对于每种类型,在预设解析器策略集中筛选出包含有每个同类型的请求的SaaS入口模式的信息的至少一个租户标识解析器;其中,预设解析器策略集中存储有多个租户标识解析器,一个租户标识解析器中包含一种类型的SaaS入口模式的信息。
可选地,确定模块,具体用于:
对于每种类型,获取每个同类型的请求对应的每个租户标识解析器的解析优先级,并将解析优先级最高的租户标识解析器作为对应类型的请求对应的目标解析器。
可选地,一种识别租户标识的***,还包括展示模块。展示模块,具体用于:
将每个租户标识发送至终端设备进行展示。
可选地,一种识别租户标识的***,还包括报警模块。报警模块,具体用于:
对于每种类型,若根据对应的SaaS入口模式,未确定出每个同类型的请求对应的租户标识解析器,则向终端设备发送响应请求异常的信息。
可选地,一种识别租户标识的***,还包括存储模块。存储模块,具体用于:
对于每种类型,将每个同类型的请求对应的租户标识存储至缓存中,并当每个请求结束时,将对应的租户标识从缓存中删除。
本发明实施例的一种计算设备,包括存储器、处理器及存储在存储器上并在处理器上运行的程序,处理器执行程序时实现上述一种识别租户标识的方法的部分或全部步骤。
其中,计算设备可以选用电脑,相对应地,其程序为电脑软件,且上述关于本发明的一种计算设备中的各参数和步骤,可参考上文中一种识别租户标识的方法的实施例中的各参数和步骤,在此不做赘述。
本发明实施例中一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在运行时,执行上述的一种识别租户标识方法的步骤。
其中,计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例方法的全部或部分步骤。而前述的计算机可读存储介质可以是非暂态计算机可读存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态计算机可读存储介质。
所属技术领域的技术人员知道,本发明可以实现为***、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“***”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。计算机可读存储介质例如可以是但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种识别租户标识的方法,其特征在于,包括:
获取用户发送的不同类型的请求,并获取每种请求对应的SaaS入口模式;
解析和识别每种所述请求中的多个关键参数,并将每种所述请求的各个所述关键参数组装成为对应的租户上下文对象;
对于每种类型,根据对应的所述SaaS入口模式,确定每个同类型的所述请求对应的至少一个租户标识解析器,并根据各个所述租户标识解析器的解析优先级,确定每个同类型的所述请求对应的目标解析器;
对于每种类型的各个所述请求,利用对应的所述目标解析器对对应的所述租户上下文对象进行解析,获得每个所述请求对应的租户标识。
2.根据权利要求1所述的方法,其特征在于,所述对于每种类型,根据对应的所述SaaS入口模式,确定每个同类型的所述请求对应的至少一个租户标识解析器,包括:
对于每种类型,在预设解析器策略集中筛选出包含有每个同类型的所述请求的所述SaaS入口模式的信息的至少一个租户标识解析器;其中,预设解析器策略集中存储有多个租户标识解析器,一个所述租户标识解析器中包含一种类型的SaaS入口模式的信息。
3.根据权利要求1所述的方法,其特征在于,所述对于每种类型,根据所述请求对应的各个所述租户标识解析器的解析优先级,确定每个同类型的所述请求对应的目标解析器,包括:
对于每种类型,获取每个同类型的所述请求对应的每个所述租户标识解析器的解析优先级,并将解析优先级最高的所述租户标识解析器作为对应类型的所述请求对应的目标解析器。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
将每个所述租户标识发送至终端设备进行展示。
5.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
对于每种类型,若根据对应的所述SaaS入口模式,未确定出每个同类型的所述请求对应的租户标识解析器,则向终端设备发送响应请求异常的信息。
6.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
对于每种类型,将每个同类型的所述请求对应的所述租户标识存储至缓存中,并当每个所述请求结束时,将对应的所述租户标识从所述缓存中删除。
7.一种识别租户标识的***,其特征在于,包括:
获取模块,用于获取用户发送的不同类型的请求,并获取每种请求对应的SaaS入口模式;
组装模块,用于解析和识别每种所述请求中的多个关键参数,并将每种所述请求的各个所述关键参数组装成为对应请求的租户上下文对象;
确定模块,用于对于每种类型,根据对应的所述SaaS入口模式,确定每个同类型的所述请求对应的至少一个租户标识解析器,并根据各个所述租户标识解析器的解析优先级,确定每个同类型的所述请求对应的目标解析器;
解析模块,用于对于每种类型的各个所述请求,利用对应的所述目标解析器对对应的所述租户上下文对象进行解析,获得每个所述请求对应的租户标识。
8.根据权利要求7所述的***,其特征在于,所述确定模块,具体用于:
对于每种类型,在预设解析器策略集中筛选出包含有每个同类型的所述请求的所述SaaS入口模式的信息的至少一个租户标识解析器;其中,预设解析器策略集中存储有多个租户标识解析器,一个所述租户标识解析器中包含一种类型的SaaS入口模式的信息。
9.一种计算设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述的一种识别租户标识的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1至6任一项所述的一种识别租户标识的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410024654.1A CN117938936A (zh) | 2024-01-08 | 2024-01-08 | 一种识别租户标识的方法、***、计算设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410024654.1A CN117938936A (zh) | 2024-01-08 | 2024-01-08 | 一种识别租户标识的方法、***、计算设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117938936A true CN117938936A (zh) | 2024-04-26 |
Family
ID=90755189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410024654.1A Pending CN117938936A (zh) | 2024-01-08 | 2024-01-08 | 一种识别租户标识的方法、***、计算设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117938936A (zh) |
-
2024
- 2024-01-08 CN CN202410024654.1A patent/CN117938936A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2425449C2 (ru) | Отслеживание данных изменения состояния для того, чтобы содействовать безопасности вычислительной сети | |
US8881113B2 (en) | Contextual exception management in multi-tenant systems | |
CN111225082B (zh) | 一种物联网智能设备的身份管理方法、装置及物联网平台 | |
US10382387B2 (en) | OID configuration, resolution method, client, node, database and storage medium | |
US8489631B2 (en) | Distributing a query | |
CN110704476A (zh) | 数据处理方法、装置、设备及存储介质 | |
KR102561083B1 (ko) | 프로파일 기반 콘텐츠 및 서비스들 | |
CN107423037B (zh) | 应用程序接口定位方法及设备 | |
CN113037891B (zh) | 边缘计算***中有状态应用的访问方法、装置及电子设备 | |
CN111984849A (zh) | 一种信息查询方法、装置、设备及介质 | |
CN112052227A (zh) | 数据变更日志的处理方法、装置和电子设备 | |
CN108154024B (zh) | 一种数据检索方法、装置及电子设备 | |
CN112905636A (zh) | 数据操作方法、服务器和计算机可读介质 | |
CN110210241B (zh) | 一种数据脱敏方法和装置 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN112084199A (zh) | 一种基于场景的通用参数维护方法及装置 | |
CN107018140B (zh) | 一种权限控制方法和*** | |
CN117938936A (zh) | 一种识别租户标识的方法、***、计算设备及介质 | |
CN112905617B (zh) | 数据写入方法、服务器及计算机可读存储介质 | |
CN109101595A (zh) | 一种信息查询方法、装置、设备及计算机可读存储介质 | |
CN110389966B (zh) | 一种信息处理方法及装置 | |
CN114840574A (zh) | 数据查询方法、服务器、节点及存储介质 | |
CN113691575A (zh) | 通信方法、装置及*** | |
CN107562420B (zh) | 一种Linux环境网络接口结构体内存处理方法及装置 | |
CN107818122A (zh) | 一种代理组件、搜索管理方法及搜索管理*** |
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 |