CN113569179A - 基于统一网站的子***访问方法和装置 - Google Patents
基于统一网站的子***访问方法和装置 Download PDFInfo
- Publication number
- CN113569179A CN113569179A CN202110844255.6A CN202110844255A CN113569179A CN 113569179 A CN113569179 A CN 113569179A CN 202110844255 A CN202110844255 A CN 202110844255A CN 113569179 A CN113569179 A CN 113569179A
- Authority
- CN
- China
- Prior art keywords
- subsystem
- access
- menu
- unified
- mode
- 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 42
- 238000013475 authorization Methods 0.000 claims description 58
- 238000004590 computer program Methods 0.000 claims description 19
- 238000007667 floating Methods 0.000 claims description 6
- 230000004069 differentiation Effects 0.000 claims description 3
- 230000008447 perception Effects 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 9
- 235000014510 cooky Nutrition 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012423 maintenance 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
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001550 time effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提出了一种基于统一网站的子***访问方法和装置,所述统一网站包括多个子***,每一子***对应于至少一个公共菜单,所述方法包括:响应于用户在所述公共菜单上的点击指令,根据所述公共菜单的菜单属性至少确定对应的所述子***的打开方式和第一访问地址,基于所述第一访问地址向服务端发送所述子***的访问请求;获取由所述服务端返回的第二访问地址;基于所述第二访问地址、所述打开方式对所述子***进行访问。通过本发明,不同的子***兼容并存,不再是单一、分散状态,实现在统一网站就可以无感知、无反差浏览到全部子***,并根据不同的访问方式打开子菜单。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及基于统一网站的子***访问方法和装置。
背景技术
为了快速生动优美的将各大厂商开发的应用、服务展现在同一网站上,一种适配分布式***架构的统一网站的实现方法应运而生。统一网站是集成工程的高级表现形式,作为信息化窗口,以浏览器的方式向用户展现,整合子***之间的间隙。在统一网站中,用户只登录一次,可以去完成门户本身的所有功能,还可以通过统一网站集成的菜单,让用户无感知流畅地访问相互信任的多个子***。
现有的统一网站只能实现对本站内信息的展示,而对于多厂商、跨服务、跨***、跨网站的集成方式只能进行简单跳转,无统一菜单入口、无统一登录入口,非常分散不统一,结构臃肿不好且不易于后期维护。
综上,针对相关技术中统一网站的实现技术无法兼容不同业务对接需求的子***的问题,目前尚未得到有效的解决方案。
发明内容
本申请实施例提供了一种基于统一网站的子***访问方法和装置,不同的子***兼容并存,不再是单一、分散状态,实现在统一网站就可以无感知、无反差浏览到全部子***,并根据不同的访问方式打开子菜单。
第一方面,本申请实施例提供了一种基于统一网站的子***访问方法,所述统一网站包括多个子***,每一子***对应于至少一个公共菜单,所述方法包括:响应于用户在所述公共菜单上的点击指令,根据所述公共菜单的菜单属性至少确定对应的所述子***的打开方式和第一访问地址,基于所述第一访问地址向服务端发送所述子***的访问请求;获取由所述服务端返回的第二访问地址,其中,所述第二访问地址由所述服务端基于所述访问请求以所述菜单属性的授权模式以及所述第一访问地址进行暂时重定向得到;基于所述第二访问地址、所述打开方式对所述子***进行访问。
本实施例用于解决多个不同子***无法统一集成在一个统一网站中的问题,无论子***部署在哪里,统一网站都支持嵌入,不受浏览器跨域影响,子***都能特征统一网站上的公共菜单中被全览,并且通过菜单授权参数得到不同子***对应的不同授权模式,满足对不同子***不同的业务对接需求。
在本实施例中接入的不同的子***可以有不同的打开方式,进一步提高了接入的子***的灵活性,集成化程度高。
在其中一个可行实施例中,所述统一网站还用于执行以下步骤:响应于用户在所述公共菜单上点击子***的指令,验证当前是否为登录状态,在登录状态下根据每一所述公共菜单的访问权限标识对所述公共菜单进行差异化显示。
在其中一个可行实施例中,所述差异化显示包括:将具有访问权限的所述公共菜单以可访问标识进行显示,将不具有访问权限的所述公共菜单以不可访问标识进行显示。
在其中一个实施例中,所述统一网站还用于执行以下步骤:若当前为未登录状态,显示所有所述公共菜单,其中每一所述公共菜单均不可被访问。
在其中一个可行实施例中,所述菜单授权参数包括令牌参数、授权码参数、开放参数的其中一种,根据所述令牌参数、所述授权码参数、所述开放参数确定授权模式为令牌模式、授权码模式、开放模式。
在其中一个可行实施例中,所述菜单属性还包括子***打开类型参数,其中,所述子***打开参数包括浮动框架标签、当前窗口式标签、新窗口式标签的其中一种,根据所述浮动框架标签、所述当前窗口式标签、所述新窗口式标签确定所述子***打开方式为内嵌式打开、当前窗口打开,新窗口打开。
在其中一个实施例中,所述菜单属性还包括访问权限标识,根据所述访问权限标识确定对所述子***的访问权限,将具有所述访问权限以及不具有所述访问权限的所述公共菜单均显示在所述统一网站上。
第二方面,本申请实施例提供了一种基于统一网站的子***访问装置,包括:地址请求模块,用于响应于用户在所述公共菜单上的点击指令,根据所述公共菜单的菜单属性至少确定对应的所述子***的打开方式和第一访问地址,基于所述第一访问地址向服务端发送所述子***的访问请求;地址解析模块,用于获取由所述服务端返回的第二访问地址,其中,所述第二访问地址由所述服务端基于所述访问请求以所述菜单属性的授权模式以及所述第一访问地址进行暂时重定向得到;子***访问模块,基于所述第二访问地址、所述打开方式对所述子***进行访问。
第三方面,本申请实施例提供了一种计算机程序产品,包括软件代码部分,当所述计算机程序产品在计算机上被运行时,所述代码软件部分用于执行第一方面所述的基于统一网站的子***访问方法。
第四方面,本申请实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行第一方面所述的基于统一网站的子***访问方法。
第五方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行第一方面所述的基于统一网站的子***访问方法。
本发明的主要贡献和创新点如下:
本方案通过对菜单属性的定义,以实现有权限的用户在访问对应的子***时能够对子***的打开方式和授权模式都进行适配调整,使得统一网站在一开始就能集成多个不同业务需求的子***,具有除了本站内信息的展示,还能对多厂商、跨服务、跨***、跨网站的子***进行统一登录的技术效果。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的基于统一网站的子***访问方法的流程图;
图2是本申请实施例中的统一网站公共菜单展现形式;
图3是子***通过token模式集成流程图;
图4是子***通过code模式集成流程图;
图5是统一网站登出子***访问失效流程图;
图6是子***访问令牌失效统一网站登出流程图;
图7是统一网站整体架构图;
图8是根据本申请实施例的基于统一网站的子***访问装置的结构框图;
图9是根据本申请实施例的电子装置的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
实施例一
本申请实施例提供了一种基于统一网站的子***访问方法,所述统一网站包括多个子***,每一子***对应于至少一个公共菜单,参考图1,所述统一网站用于执行以下步骤S101至S103:
步骤S101、响应于用户在所述公共菜单上的点击指令,根据所述公共菜单的菜单属性至少确定对应的所述子***的打开方式和第一访问地址,基于所述第一访问地址向服务端发送所述子***的访问请求。
在本步骤中,子***可以包括集成在统一网站中的官网、大屏、业务管理***、建模、网关接口服务、权限***、数据目录、智慧搜索、FAQ帮助等等。每一公共菜单对应于一个子***,点击公共菜单可以对相应的子***包括应用、服务等进行访问。
具体地,每一公共菜单对应有菜单属性,通过对菜单属性的定义,以实现有权限的用户在访问对应的子***时能够对子***的打开方式和进行适配调整,从而实现对需要不同打开方式访问的子***进行集成的有益效果。
在本步骤中,src拼接出来的地址是访问服务的地址,第一访问地址指的是访问子***例如应用、服务的实际地址,服务端会解析授权模式和第一访问地址,得到进行过加密的跳转目标地址并确定为访问子***的第二访问地址,统一网站通过第二访问地址实现对子***的安全访问。
在其中一个实施例中,所述菜单属性还包括子***打开类型参数,其中,所述子***打开参数包括浮动框架标签、当前窗口式标签、新窗口式标签的其中一种,根据所述浮动框架标签、所述当前窗口式标签、所述新窗口式标签确定所述子***打开方式为内嵌式打开、当前窗口打开,新窗口打开。
在本实施例中,打开方式通过子***打开类型参数设置于菜单属性中,并且在权限端保存,权限端中为能至少对各个公共菜单进行管理的管理***。
例如,通过内嵌式打开方式打开对应的子***时,由统一网站调用内嵌式框架,服务端获取到iframe框架对应的地址,使统一网站的内容区内嵌为子***;通过当前窗口打开方式打开对应的子***时,服务端获取到_self框架对应的地址,浏览器窗口显示的统一网站将被子***替换;新窗口打开方式打开对应的子***时,服务端获取到_blank框架对应的地址,子***打开浏览器一个新的窗口显示。
在步骤S101之中,统一网站根据菜单属性来辨别子***是通过何种方式打开。统一网站支持以下子***打开方式:内嵌式、新窗口式、当前窗口式。同时统一网站通过该公共菜单向服务端发送***登录请求,从而获取第一访问地址。子***的打开方式具体包括:
内嵌式:将子***切入到统一网站中,成为融合一体,统一性很高。该种方式的好处就是用户只要点击到公共菜单,那么统一网站的内容区域就显示子***的内容,切换访问非常自然。虽然用户访问到的是子***的服务,但是用户操作的业务逻辑也在统一网站中实现。
新窗口式:在浏览器中,相对于统一网站,再新开一个浏览窗口显示子***。对于一些子***非常适用,如FAQ(常见问题解答)、信息展示等。即用户打开子***,对着子***中提供相关的内容,可以在统一网站中进行操作。
当前窗口式:将浏览器中显示的统一网站替换成子***。此种方式只是将统一网站作为一个跳转桥梁。
步骤S102、获取由所述服务端返回的第二访问地址,其中,所述第二访问地址由所述服务端基于所述访问请求以所述菜单属性的授权模式以及所述第一访问地址进行暂时重定向得到。
步骤S103、基于所述第二访问地址、所述打开方式对所述子***进行访问。
在步骤S102中,第一访问地址被存储在权限端中,服务端解析第一访问地址得到子***的url地址以及菜单属性的各个参数,其中,url指的是服务端进行过加密的跳转目标地址。统一网站从中获取出菜单授权参数,并根据菜单授权参数确定具体地授权类型,从而开展子***业务逻辑。
在其中一个实施例中,所述菜单授权参数包括令牌参数、授权码参数、开放参数的其中一种,根据所述令牌参数、所述授权码参数、所述开放参数确定授权模式为令牌模式、授权码模式、开放模式。
在本实施例中,支持三类授权模式:token令牌模式、code授权码模式和open开放模式,通过不同的授权模式实现了多种子***验证用户身份的方式,使得统一网站中能接入多种不同授权模式的子***。上述三种授权模式基本包含了现有大多数子***,面向广泛,可以灵活应对不同的业务场景。
例如,当子***通过token令牌模式集成时,子***对地址进行解析,将token和其他参数进行获取,并基于token认证用户身份以及获取token失效,从而展开子***的业务处理;当子***通过code授权码模式集成时,子***对地址进行解析,将code和其他参数进行获取,通过获取到的code码认证用户身份以及token过期信息,或者,也可以直接使用code从直接权限服务中获取用户权限信息,code码权限认证具有一次性失效的特点,因此可以规避子***资源被暴露的风险;此外,当子***通过open开放模式集成时,Src的地址实际变更为:子***实际url+其他参数。统一网站通过window.open(url)方法,直接跳转到子***。
在其中一个实施例中,所述菜单授权参数设置在菜单属性中,所述菜单属性还包括:跳转路径,所述子***实际地址携带所述菜单属性中的所述菜单授权参数、所述跳转路径并根据所述跳转路径对所述子***进行访问。
在本实施例中,菜单授权参数用于确定子***的授权模式,不同授权模式的子***通过携带的不同访问令牌获取到用户权限信息以及令牌时效信息,当用户具有权限且令牌未失效,通过跳转路径实现对子***的访问。
在其中一个实施例中,所述菜单属性还包括访问权限标识,根据所述访问权限标识确定对所述子***的访问权限,将具有所述访问权限以及不具有所述访问权限的所述公共菜单均显示在所述统一网站上。
在本实施例中,访问权限参数则说明了用户是否对某一子***具有访问权限,访问权限参数的值为true或false,统一网站为所有访问权限为true的公共菜单进行激活,并且通过跳转路径实现对有权限的子***的访问。
本实施例与现有技术的区别在于,无论是否对子***有访问权限都能浏览到公共菜单,实现了不论访问权限或者登陆状态发送变化,用户都能无感知、无反差地从统一网站中浏览到全部子***,保证了***稳定性。
具体地,相关技术中在集成多子***的统一网站中对不同访问权限的用户,网站的显示也不一样,使得当用户的访问权限发生变化,如未登录和已登录两种情况下,用户看到的统一网站上的公共菜单会增加和减少,影响了用户的使用体验,而本方案将统一网站上集成的所有子***都显示出来,即使用户的权限不同,其看到的网站上的公共菜单也不会莫名的多出来或者消失,因此能增加***的实用性。
在其中一个实施例中,所述统一网站还用于执行以下步骤:响应于在所述公共菜单上点击子***的指令,验证当前是否为登录状态,在登录状态下根据每一所述公共菜单的访问权限标识对所述公共菜单进行差异化显示。
在本实施例中,统一网站在用户登录状态下根据访问权限标识对公共菜单进行重新渲染,以激活有权限的公共菜单部分,使其能被访问,无法被访问的公共菜单仍在统一网站中显示,具有用户在统一网站就可以无感知、无反差浏览到全部的子***,提高用户的访问效率的有益效果。
具体地,所述差异化显示包括:将具有访问权限的所述公共菜单以可访问标识进行显示,将不具有访问权限的所述公共菜单以不可访问标识进行显示。
即,通过可访问标识和不可访问标识让访问者清楚地知道自己对于哪部分公共菜单有访问权限。
在本实施例中,通过可访问标识,如:鼠标显示为手型、字体显示高亮提示用户该公共菜单可以访问;通过不可访问标识,如:鼠标显示为禁用形状、字体置灰且不可被点击等提示用户该公共菜单不可被访问。
在其中一个实施例中,所述统一网站还用于执行以下步骤:若当前为未登录状态,显示所有所述公共菜单,其中每一所述公共菜单均不可被访问。
在本实施例中,无论是否对子***有访问权限,在未登录状态所有接入的子***都能显示出来,通过不可被访问实现了对不允许跨域的浏览器的接入,只有用户登录才能接入有访问权限的资源。
在步骤S102之中,公共菜单指的是统一网站上的菜单导航。统一网站能够接入的子***非常灵活,可以满足不同子***不同业务的对接需求,多种子***在统一网站中按同一风格展示在一起,使得分布式***的集成化程度高。
不同源情况下,浏览器会禁止跨域。而此方式,如统一网站的访问域名:http://123.456.com:8080/login,那么在http://123.456.com:8080对应的服务器上就会有一个后端服务。用户访问菜单,统一网站中iframe的src即:服务端地址(http://123.456.com:8080)+当前点击菜单的url+子***参数。那么对于浏览器来说,域名和src是同源的,即不产生跨域。服务端接收到访问信息,进行解析,从权限端中获取实际地址进行重定向。因此,无论子***部署在哪里,统一网站都支持嵌入。不受浏览器跨域影响,非常便捷。
综上,本申请旨在提供一种通过对菜单属性的定义,以实现有权限的用户在访问对应的子网站时能够对子网站的打开方式和授权模式都进行适配调整的技术方案,在实现时,无论用户是否登录,都能将所有接入的子***的公开菜单显示出来,通过子***打开参数确定访问资源的方式,服务端获取到请求时,进一步通过菜单属性确认授权模式,对采用相应的授权方式对用户进行认证,认证成功后用局部刷新的方式可访问的菜单进行刷新,使得用户能访问到其有权限访问的子***。
示例性地,下面通过具体实例并结合使用场景对本申请中的统一网站对多个子***进行集成的细化方案进行描述。
用户初次访问统一网站,统一网站和服务端进行交互。一方面检测用户是否登录,另一方面获取服务端返回的公共菜单,进行遍历显示,即统一网站在用户是否登录状态下都能可视化所有公共菜单。服务端使用Session技术,返回sessionid到用户所在的统一网站cookie中。统一网站带着cookie中的用户唯一的会话标识(sessionid)和服务端进行交互,验证该用户是否登录。
图2是统一网站公共菜单展现形式,参考图2,当用户在统一网站中未登录状态时,统一网站的公共菜单全部高亮显示。当用户在统一网站为登录状态时,统一网站的公共菜单根据当前用户是否具有权限的访问权限标识(hasPermission)来局部刷新公共菜单。
具体地,以可访问标识表示当前用户具有对该公共菜单的访问权限:鼠标显示为手型、字体显示高亮;以不可访问标识表示当前用户不具有对该公共菜单的访问权限:鼠标显示为禁用形状、字体置灰且不可被点击。
未登录用户在统一网站中能够浏览全部的公共菜单,但当点击某一公共菜单时,统一网站和服务端进行交互验证该用户是否登录,若用户未登录,则统一网站无法跳转或嵌入子***,统一网站弹出登录框,提示用户进行登录。用户可以通过短信登录、账户密码登录、扫码登录等多种方式发送登录请求。
服务端根据统一网站发送的数据对当前用户的身份进行校验,若校验用户身份通过,则登录成功,服务端颁发访问凭证并存储于统一网站cookie中,统一网站带着cookie中的访问凭证去和该服务进行交互。服务端返回该访问用户的菜单JSON。统一网站对服务端返回的JSON做递归处理。处理完毕后统一网站对公共菜单部分进行局部刷新。
其中公共菜单中的菜单属性包含以下关键字段:
其中,菜单排序用于标识公共菜单的排列顺序。示例性的,在不设置菜单排序时候,菜单排序可以按照新增操作时间进行倒序排位,那么最新新增的菜单就会显示在前面;当菜单排序上写了数字,那么就以此数字为作为排序依据,可以让数字从小到大排序。如1,那么这个菜单就会显示在第一位,其他未填的还是按新增操作时间进行倒序。在一些实施例中,如果在菜单中有相同的排序数字,那么按新增时间进行倒序排位。通过设置菜单排序字段可以使公共菜单的显示方式更灵活。
在接收到用户对任一有权限菜单的访问请求后,统一网站会对该菜单的打开方式子***打开方式字段进行判断。
子***打开方式分为了三类:iframe,_blank、_self。
当子***打开方式为iframe框架时,框架对应的地址:服务端地址+当前点击菜单的url+子***参数。即,实现了统一网站内容区内嵌为子***,其实现方式详细步骤如下:
统一网站调用Iframe框架,服务端获取到该src中的内容,对用户点击的菜单进行菜单授权模式判断。菜单授权模式分为了三类授权模式:token模式(令牌模式)、code模式(授权码模式)和open模式(开放模式)。
令牌模式,即用户登录成功后,服务端获取到用户的会话标识以及src内容,根据src的参数中获取到点击菜单的编码,根据此编码,向权限端索要此菜单的所有字段;其中字段中子***实际地址是通过权限端配置的,权限端是一个集组织管理、用户管理、角色管理、菜单管理为一体的一个管理***。认证中心根据会话标识向服务端颁发新的访问令牌。最后服务端重定向为:菜单的实际地址+新访问令牌+其他参数,即,地址变更为:子***的实际地址+token+其他参数。统一网站的内容区切换为子***,子***对统一网站携带过来的地址进行处理。
参考图3,令牌模式下,子***对地址进行解析,将token和其他参数进行获取。认证中心是一个集令牌颁发、令牌校验等功能的***。子***通过这个token去与认证中心进行交互获取用户、token时效等信息,从而展开子***自己的其他业务处理逻辑。
授权码模式,即服务端通过spring security auth2.0授权码模式从认证中心中获取新的访问令牌,服务端重定向为:菜单的实际地址+新访问令牌+其他参数,即,地址变更为:子***实际地址+code+其他参数。
参考图4,授权码模式下,子***对地址进行解析,将code和其他参数进行获取。通过获取到的code码去认证中心获取访问令牌,通过令牌获取用户等权限信息以及token过期信息。此外,也可以直接使用code从直接权限服务中获取用户权限信息。该code码一次使用后失效。
开放模式,获取新访问令牌的方式同上所述,服务端重定向为:菜单的实际地址+新访问令牌+其他参数。Src的地址实际变更为:子***实际url+其他参数,统一网站通过window.open(url)方法,直接跳转到子***。
当子***打开方式为_blank框架时,子***打开浏览器一个新的窗口显示。当子***为_self框架时,浏览器窗口显示的统一网站将被子***替换。这两种打开方式同样支持token模式、code模式和open模式,跳转的地址都为:服务端地址+当前点击菜单的url+子***参数。
详细步骤如下:
token模式,服务端重定向,子***的地址变更为:子***实际url+token+其他参数。统一网站利用window.open(url,name)方法,name指定的是授权模式grandType,打开子***。子***同样通过地址获取到token和其他参数,然后通过token与认证中心进行交互获取到用户等信息,从而进行相关业务的开发处理。
三种授权模式分别对应了不同的业务需求,具体地,包括:
令牌模式:是为了满足业务需求,拓展出的一种简单、安全性欠佳的授权模式,该模式统一网站服务端已经将处理好的访问令牌暴露子***,子***可以很简单、高效率的进行集成。
授权码模式:即spring security auth2.0授权码模式,统一网站服务端将一次性的code暴露给子***,满足安全等级要求高的子***。
开放模式:适用于为了集成一些无需嵌入到统一网站中,但是又需要通过统一网站提供的访问令牌实现子***的业务逻辑的***。
参考图5,用户主动退出,统一网站与服务端进行交互,服务端将session对象里的用户登录凭证清掉,访问令牌失效,退出成功,统一网站变为未登录状态。此时子***通过与认证中心进行交互,无法拿到访问令牌,也处于登出状态。
对于子***中访问令牌失效,而统一网站登录状态未失效的情况,可以有有两种处理方式。一种是子***内部提示页面告诉用户访问令牌失效,用户在统一网站点击该子***对应的菜单,就会重新走一遍登录流程,然后通过以上几种方式授权访问令牌,使其重新登录。
参考图6,另一种就是子***通过Window postMessage()计算机方法,实现跨源通信通知统一网站访问令牌失效。统一网站通过window.addEventListener()监听到子***的消息,就与服务端进行交互,将session对象里的用户登录凭证清掉,退出整个***,恢复未登录状态。
综上,参考图7,用户点击访问菜单,统一网站判断用户是否登录,若未登录,则弹出登录框提示用户登录。在登录状态下,统一网站带着cookie中的访问凭证获取用户的菜单属性,确定子***的打开方式,并向服务端发送子***登录请求,服务端确定子***的菜单授权模式并以子***的打开方式显示子***:当打开方式openType为iframe时,内容切换为子***;当openType为_blank时,子***打开浏览器一个新的窗口显示;当openType为_self时,浏览器窗口显示的统一网站被子***替换。
实施例二
基于相同的构思,参考图8,本申请还提出了一种基于统一网站的子***访问装置,包括:
地址请求模块801,用于响应于用户在所述公共菜单上的点击指令,根据所述公共菜单的菜单属性至少确定对应的所述子***的打开方式和第一访问地址,基于所述第一访问地址向服务端发送所述子***的访问请求;
地址解析模块802,用于获取由所述服务端返回的第二访问地址,其中,所述第二访问地址由所述服务端基于所述访问请求以所述菜单属性的授权模式以及所述第一访问地址进行暂时重定向得到;
子***访问模块803,基于所述第二访问地址、所述打开方式对所述子***进行访问。
实施例三
本实施例还提供了一种电子装置,参考图9,包括存储器904和处理器902,该存储器904中存储有计算机程序,该处理器902被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
具体地,上述处理器902可以包括中央处理器(CPU),或者特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器904可以包括用于数据或指令的大容量存储器904。举例来说而非限制,存储器904可包括硬盘驱动器(HardDiskDrive,简称为HDD)、软盘驱动器、固态驱动器(SolidStateDrive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器904可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器904可在数据处理装置的内部或外部。在特定实施例中,存储器904是非易失性(Non-Volatile)存储器。在特定实施例中,存储器904包括只读存储器(Read-OnlyMemory,简称为ROM)和随机存取存储器(RandomAccessMemory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(ProgrammableRead-OnlyMemory,简称为PROM)、可擦除PROM(ErasableProgrammableRead-OnlyMemory,简称为EPROM)、电可擦除PROM(ElectricallyErasableProgrammableRead-OnlyMemory,简称为EEPROM)、电可改写ROM(ElectricallyAlterableRead-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(StaticRandom-AccessMemory,简称为SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器904(FastPageModeDynamicRandomAccessMemory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(ExtendedDateOutDynamicRandomAccessMemory,简称为EDODRAM)、同步动态随机存取内存(SynchronousDynamicRandom-AccessMemory,简称SDRAM)等。
存储器904可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器902所执行的可能的计算机程序指令。
处理器902通过读取并执行存储器904中存储的计算机程序指令,以实现上述实施例中的任意一种基于统一网站的子***访问方法。
可选地,上述电子装置还可以包括传输设备906以及输入输出设备908,其中,该传输设备906和上述处理器902连接,该输入输出设备908和上述处理器902连接。
传输设备906可以用来经由一个网络接收或者发送数据。上述的网络具体实例可包括电子装置的通信供应商提供的有线或无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备906可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
输入输出设备908用于输入或输出信息。在本实施例中,输入的信息可以是登录信息、公共菜单点击指令、菜单属性等,输出的信息可以是通知消息、公共菜单等。
可选地,在本实施例中,上述处理器902可以被设置为通过计算机程序执行以下步骤:
S101、响应于用户在所述公共菜单上的点击指令,根据所述公共菜单的菜单属性至少确定对应的所述子***的打开方式和第一访问地址,基于所述第一访问地址向服务端发送所述子***的访问请求。
S102、获取由所述服务端返回的第二访问地址,其中,所述第二访问地址由所述服务端基于所述访问请求以所述菜单属性的授权模式以及所述第一访问地址进行暂时重定向得到。
S103、基于所述第二访问地址、所述打开方式对所述子***进行访问。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例一,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的基于统一网站的子***访问方法。
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种基于统一网站的子***访问方法,其特征在于,所述统一网站包括多个子***,每一所述子***对应于至少一个公共菜单,所述方法包括:
响应于用户在所述公共菜单上的点击指令,根据所述公共菜单的菜单属性至少确定对应的所述子***的打开方式和第一访问地址,基于所述第一访问地址向服务端发送所述子***的访问请求;
获取由所述服务端返回的第二访问地址,其中,所述第二访问地址由所述服务端基于所述访问请求以所述菜单属性的授权模式以及所述第一访问地址进行暂时重定向得到;
基于所述第二访问地址、所述打开方式对所述子***进行访问。
2.根据权利要求1所述的基于统一网站的子***访问方法,其特征在于,所述统一网站还用于执行以下步骤:
响应于用户在所述公共菜单上点击子***的指令,验证当前是否为登录状态,在登录状态下根据每一所述公共菜单的访问权限标识对所述公共菜单进行差异化显示。
3.根据权利要求2所述的基于统一网站的子***访问方法,其特征在于,所述差异化显示包括:将具有访问权限的所述公共菜单以可访问标识进行显示,将不具有访问权限的所述公共菜单以不可访问标识进行显示。
4.根据权利要求1所述的基于统一网站的子***访问方法,其特征在于,所述方法还包括:若当前为未登录状态,显示所有所述公共菜单,其中每一所述公共菜单均不可被访问。
5.根据权利要求1所述的基于统一网站的子***访问方法,其特征在于,菜单属性包括菜单授权参数,基于菜单授权参数确定所述菜单属性中的授权模式,其中,所述菜单授权参数包括令牌参数、授权码参数、开放参数的其中一种,根据所述令牌参数、所述授权码参数、所述开放参数确定授权模式为令牌模式、授权码模式、开放模式。
6.根据权利要求1所述的基于统一网站的子***访问方法,其特征在于,所述菜单属性还包括子***打开类型参数,其中,所述子***打开参数包括浮动框架标签、当前窗口式标签、新窗口式标签的其中一种,根据所述浮动框架标签、所述当前窗口式标签、所述新窗口式标签确定所述子***打开方式为内嵌式打开、当前窗口打开,新窗口打开。
7.根据权利要求1所述的基于统一网站的子***访问方法,其特征在于,所述菜单属性还包括访问权限标识,根据所述访问权限标识确定对所述子***的访问权限,将具有所述访问权限以及不具有所述访问权限的所述公共菜单均显示在所述统一网站上。
8.一种基于统一网站的子***访问装置,其特征在于,包括:
地址请求模块,用于响应于用户在所述公共菜单上的点击指令,根据所述公共菜单的菜单属性至少确定对应的所述子***的打开方式和第一访问地址,基于所述第一访问地址向服务端发送所述子***的访问请求;
地址解析模块,用于获取由所述服务端返回的第二访问地址,其中,所述第二访问地址由所述服务端基于所述访问请求以所述菜单属性的授权模式以及所述第一访问地址进行暂时重定向得到;
子***访问模块,基于所述第二访问地址、所述打开方式对所述子***进行访问。
9.一种计算机程序产品,其特征在于,包括软件代码部分,当所述计算机程序产品在计算机上被运行时,所述代码软件部分用于执行根据权利要求1至7任一所述的基于统一网站的子***访问方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行根据权利要求1至7任一所述的基于统一网站的子***访问方法。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为由处理器运行时执行根据权利要求1至7任一所述的基于统一网站的子***访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110844255.6A CN113569179A (zh) | 2021-07-26 | 2021-07-26 | 基于统一网站的子***访问方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110844255.6A CN113569179A (zh) | 2021-07-26 | 2021-07-26 | 基于统一网站的子***访问方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113569179A true CN113569179A (zh) | 2021-10-29 |
Family
ID=78167393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110844255.6A Pending CN113569179A (zh) | 2021-07-26 | 2021-07-26 | 基于统一网站的子***访问方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569179A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115473754A (zh) * | 2022-07-27 | 2022-12-13 | 青岛海尔科技有限公司 | 多***访问管理方法、装置和多***管理平台 |
CN115865436A (zh) * | 2022-11-22 | 2023-03-28 | 平安银行股份有限公司 | 多应用多页面权限管理方法、装置及计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130007846A1 (en) * | 2011-07-01 | 2013-01-03 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and Arrangements for Authorizing and Authentication Interworking |
CN108243183A (zh) * | 2017-12-20 | 2018-07-03 | 北京车和家信息技术有限公司 | 门户***的集成控制方法、***和计算机设备 |
CN108881232A (zh) * | 2018-06-21 | 2018-11-23 | 北京海泰方圆科技股份有限公司 | 业务***的登录访问方法、装置、存储介质和处理器 |
CN109088884A (zh) * | 2018-09-26 | 2018-12-25 | 平安医疗健康管理股份有限公司 | 基于身份验证的网址访问方法、装置、服务器及存储介质 |
CN109145539A (zh) * | 2018-08-22 | 2019-01-04 | 深圳点猫科技有限公司 | 一种多编程项目的权限管理方法及电子设备 |
CN111818088A (zh) * | 2020-07-28 | 2020-10-23 | 深圳壹账通智能科技有限公司 | 授权模式管理方法、装置、计算机设备及可读存储介质 |
-
2021
- 2021-07-26 CN CN202110844255.6A patent/CN113569179A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130007846A1 (en) * | 2011-07-01 | 2013-01-03 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and Arrangements for Authorizing and Authentication Interworking |
CN108243183A (zh) * | 2017-12-20 | 2018-07-03 | 北京车和家信息技术有限公司 | 门户***的集成控制方法、***和计算机设备 |
CN108881232A (zh) * | 2018-06-21 | 2018-11-23 | 北京海泰方圆科技股份有限公司 | 业务***的登录访问方法、装置、存储介质和处理器 |
CN109145539A (zh) * | 2018-08-22 | 2019-01-04 | 深圳点猫科技有限公司 | 一种多编程项目的权限管理方法及电子设备 |
CN109088884A (zh) * | 2018-09-26 | 2018-12-25 | 平安医疗健康管理股份有限公司 | 基于身份验证的网址访问方法、装置、服务器及存储介质 |
CN111818088A (zh) * | 2020-07-28 | 2020-10-23 | 深圳壹账通智能科技有限公司 | 授权模式管理方法、装置、计算机设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
石瑞生: "《网络空间安全专业规划教材 大数据安全与隐私保护》", 31 May 2019, 北京邮电大学出版社, pages: 39 - 41 * |
贾蓓 等: "《矿山工程CAD》", 30 April 2015, 中国矿业大学出版社, pages: 208 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115473754A (zh) * | 2022-07-27 | 2022-12-13 | 青岛海尔科技有限公司 | 多***访问管理方法、装置和多***管理平台 |
CN115865436A (zh) * | 2022-11-22 | 2023-03-28 | 平安银行股份有限公司 | 多应用多页面权限管理方法、装置及计算机设备 |
CN115865436B (zh) * | 2022-11-22 | 2024-04-12 | 平安银行股份有限公司 | 多应用多页面权限管理方法、装置及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10909212B2 (en) | Obfuscating network page structure | |
US10320776B2 (en) | Protection of application passwords using a secure proxy | |
US10740411B2 (en) | Determining repeat website users via browser uniqueness tracking | |
US10560435B2 (en) | Enforcing restrictions on third-party accounts | |
US11716325B2 (en) | Limiting scopes in token-based authorization systems | |
AU2019322806B2 (en) | Location-based access to controlled access resources | |
CN103930897A (zh) | 移动应用、单点登录管理 | |
US10250585B1 (en) | Identity migration between organizations | |
CN110661776B (zh) | 敏感数据溯源方法、装置、安全网关及*** | |
CN113569179A (zh) | 基于统一网站的子***访问方法和装置 | |
CN111355720B (zh) | 一种应用访问内网方法、***、设备及计算机存储介质 | |
CN106464497A (zh) | 利用低延迟会话聚合框架体系发放、传送和管理令牌的方法和*** | |
CN110968760A (zh) | 网页数据的爬取方法、装置、网页登录方法及装置 | |
US20190073668A1 (en) | Browser-based payment for content | |
CN112738100A (zh) | 数据访问的鉴权方法、装置、鉴权设备和鉴权*** | |
CN111241523B (zh) | 认证处理方法、装置、设备和存储介质 | |
CN116484338A (zh) | 数据库访问方法及装置 | |
US10803164B2 (en) | Validating sign-out implementation for identity federation | |
US10187262B2 (en) | Automated multi-user system detection | |
CN114006757A (zh) | Gis服务的访问控制方法、装置、架构、介质及设备 | |
US20220400071A1 (en) | System for Creating Randomized Scaled Testing | |
CN114186216A (zh) | ***访问控制方法、***、计算机设备和存储介质 | |
CN116781392A (zh) | 一种登录方法、装置、***及设备 | |
Coffie | MonitR: A mobile application for monitoring online accounts’ security | |
CN116560655A (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 |