公开/公告号CN112866761A
专利类型发明专利
公开/公告日2021-05-28
原文格式PDF
申请/专利权人 武汉兴图新科电子股份有限公司;
申请/专利号CN202011639158.5
申请日2020-12-31
分类号H04N21/258(20110101);H04N21/441(20110101);H04N21/45(20110101);
代理机构42238 武汉知产时代知识产权代理有限公司;
代理人张毅
地址 430000 湖北省武汉市东湖新技术开发区关山大道1号软件产业三期A3栋8层
入库时间 2023-06-19 11:06:50
技术领域
本发明涉及网络通信领域,尤其涉及应用于云视频融合平台的分布式系统用户统一认证技术。
背景技术
随着互联网业务不断增加,单体服务不利于功能频繁迭代,且代码过于庞大和臃肿影响维护。需要按照业务的维度进行拆分为多个服务。当单体服务变成多个服务以后,用户登陆鉴权需要在每个服务上生效,原始做法是将登陆鉴权信息相互同步到对方服务上去,增加了网络开销和系统的复杂性。
发明内容
为了解决上述问题,本发明提供了一种应用于云视频融合平台的分布式系统用户统一认证技术,应用于WEB项目由单体服务拆分为多个服务时,针对用户登陆鉴权信息在多个服务共享的解决方案。一种应用于云视频融合平台的分布式系统用户统一认证技术,主要包括以下步骤:
S1:部署多个WEB网关服务器,用户打开浏览器输入用户名和密码点击登录按钮,浏览器发起http协议的请求,携带用户名和密码请求网关服务的登陆接口;
S2:WEB网关服务器接收到登录请求,调用用户鉴权服务接口开始鉴权,判断鉴权是否成功;若是,则到步骤S3;若否,则回到步骤S1;
S3:生成唯一的sessionId,并将sessionId和用户基础信息保存到redis缓存服务器中;
S4:用户再次发起业务请求,携带会话sessionId请求网关服务;
S5:网关服务拦截所有的业务接口,调用鉴权服务接口,鉴权服务使用会话sessionId从redis缓存服务器中查找用户信息;
S6:若从redis缓存服务器中查找到用户信息,则继续进行业务请求,以实现网络会话共享;若从redis缓存服务器中未查找到用户信息,则反馈信息至前端页面,回到步骤S1。
进一步地,所述http协议的请求为http协议的post请求。
进一步地,鉴权过程如下:
(4)用户鉴权服务从数据库中取到对应用户的真实密码和信息;
(5)查询反馈该用户的密码和用户基础信息;
鉴权服务开始比对用户输入的密码和用户基础信息与步骤(2)中反馈的是否一致;若是,则鉴权成功;若否,则鉴权失败。
进一步地,设置redis缓存的有效期,有效期为1个月。
进一步地,还将生成的sessionId返回给浏览器客户端,并将sessionId和用户基础信息一起保存在浏览器cookie中。
进一步地,当WEB网关服务器部署多个实例时,网页端根据DNS路由到不同的WEB网关服务器时,只需统一从redis缓存中读取数据鉴权即可。
本发明提供的技术方案带来的有益效果是:部署多个WEB网关服务器以后,每个WEB网关服务器能共享用户登陆鉴权后信息,有效解决了网络分布式会话共享的问题,具有实用性。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例中信令流程图;
图2是本发明实施例中网络部署图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
本发明的实施例提供了一种应用于云视频融合平台的分布式系统用户统一认证技术。
请参考图1-2,图1是本发明实施例中信令流程图,图2是本发明实施例中网络部署图,图1为整个流程的信令序列图,图2为网络部署图,包含了多个WEB服务器、redis缓存服务器、数据库服务和业务服务,图2中的deploy表示调用的意思,通过详细的描述重要信令走向,描述了部署多体服务(微服务)后,用户在调用网关服务鉴权接口(网关服务为多个服务)做鉴权的信令图。具体包括如下步骤:
1、用户打开浏览器输入用户名和密码点击登录按钮,浏览器发起http协议的post请求,携带用户名和密码请求网关服务的登陆接口。
2、通过LAN网络,WEB网关服务接收到前端网页的请求,调用用户鉴权服务接口开始鉴权。
3、用户鉴权服务从数据库服务器中取到该用户的真实密码和信息。
4、查询反馈用户的密码和用户基础信息。
5、鉴权服务开始比对用户输入的用户密码和基础信息。
6、鉴权成功后生成唯一的sessionId,将sessionId和用户基础信息保存到redis缓存中,设置有效期。
7.将生成的sessionId返回给浏览器客户端。
8.将sessionId和用户基础信息保存在浏览器cookie中。
9.用户再次发起业务请求,携带会话sessionId请求网关服务。
10.网关服务拦截所有的业务接口,调用鉴权服务接口。
11.鉴权服务使用会话sessionId从redis中找用户信息。
12.如果鉴权服务成功,则将继续进行业务请求。
13.如果鉴权失败,则将反馈信息给前端页面,请求重新登陆。
当WEB网关服务器部署多个会话实例时,网页端根据DNS路由到不同的WEB网关服务器,会话状态不需要多个网关同步会话状态,只需统一从redis取数据鉴权即可。
本发明的有益效果是:部署多个WEB网关服务器以后,每个WEB网关服务器能共享用户登陆鉴权后信息,有效解决了网络分布式会话共享的问题,具有实用性。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 基于HUB的分布式分布式统一通信系统的自动化平台
机译: 将统一治理和集成平台应用于社交媒体数据
机译: 融合网络解决方案平台的统一服务分类法