CN109587251A - 会话访问方法以及服务器 - Google Patents
会话访问方法以及服务器 Download PDFInfo
- Publication number
- CN109587251A CN109587251A CN201811497896.3A CN201811497896A CN109587251A CN 109587251 A CN109587251 A CN 109587251A CN 201811497896 A CN201811497896 A CN 201811497896A CN 109587251 A CN109587251 A CN 109587251A
- Authority
- CN
- China
- Prior art keywords
- session
- information
- token information
- identity
- token
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开的实施例提供的一种会话访问方法和服务器,其中方法包括:获取终端发送的会话请求;解析会话请求,判断会话请求中包含的令牌信息是否处于有效时间内;在判断结果为是时,判断会话请求中的会话身份识别号码和令牌信息是否匹配,在会话身份识别号码和令牌信息匹配时,获取令牌信息对应的身份信息;在会话身份识别号码和令牌信息不一致时,从会话服务器获取身份信息;在判断结果为否时,从会话服务器获取身份信息。通过为令牌信息设置有效时间,使得令牌信息在有效时间外才需要向会话服务器获取身份信息,减少了终端向会话服务器请求频率,实现扩容,同时确保了用户的使用体验,降低出现服务器卡顿的可能。
Description
技术领域
本发明公开的实施例涉及会话访问领域,具体而言,涉及一种会话访问方法、一种服务器。
背景技术
目前,分布式会话的技术方案通常使用共享内存实现的,具体地,在终端用户访问微服务器时,浏览器会向微服务器发送包含认证凭证的请求,微服务器在获取到终端用户发送的凭证后,再访问会话服务器,获取用户的身份信息。
上述方式中所有的微服务器都是依赖一个会话服务器,在大量用户在线,请求并发的业务场景下,会话服务器会承担巨大的压力,为了避免业务服务器被突然出现的流量击垮,通常对访问会话服务器设置限流以及熔断,以确保会话服务器不会出现流量击垮,进而避免出现服务器停顿。
然而,通过设置限流和熔断机制的方式,会造成会话失败,用户最直接的感受时,无法从会话服务器中获取会话,影响用户的使用体验,无法满足用户的需求。
发明内容
本发明公开的实施例的第一方面提出了一种会话访问方法。
本发明公开的实施例的第二方面提出了一种服务器。
根据本发明公开的实施例的第一方面,提供了一种会话访问方法,用于服务器,其中会话访问方法包括:获取终端发送的会话请求;解析会话请求,判断会话请求中包含的令牌信息是否处于有效时间内;在判断结果为是时,判断会话请求中的会话身份识别号码和令牌信息是否匹配,在会话身份识别号码和令牌信息匹配时,获取令牌信息对应的身份信息;在会话身份识别号码和令牌信息不一致时,从会话服务器获取身份信息;在判断结果为否时,从会话服务器获取身份信息。
本发明公开的实施例提供了一种会话访问方法,在获取得到终端发送的会话请求时,对获取得到的会话请求进行解析,得到会话请求中包含的令牌信息,并判断令牌信息是否处于有效时间内,在判断结果为是时,再判断会话请求中的会话身份识别号码和令牌信息是否匹配,在判断两者一致时,获取令牌对应的身份信息,进而实现与会话服务器的会话访问,在判断结果为否时,从会话服务器中获取身份信息。通过为令牌信息设置有效时间,使得令牌信息在有效时间外才需要向会话服务器获取身份信息,减少了终端向会话服务器请求频率,会话服务器可以以处理新增的会话请求,实现扩容,同时确保了用户的使用体验,降低出现服务器卡顿的可能。
此外,在判断令牌信息在有效期内之后,还判断会话请求中的会话身份识别号码和令牌信息是否匹配,只有判断会话请求中的会话身份识别号码和令牌信息匹配时,才获取令牌信息对应的身份信息,确保了身份信息的安全,规避了仅通过判断令牌信息是否在有效期内而直接确定是否信任终端可能出现的安全问题,进而提高了身份信息的安全性。
在会话身份识别号码和令牌信息不一致以及会话请求中包含的令牌信息不在有效时间内时,从会话服务器中获取会话请求对应的身份信息,以确保用户会话请求的正常响应,避免出现会话服务器对终端发送的会话请求无响应的出现。
另外,本发明提供的上述技术方案中的会话访问方法,还可以具有如下附加技术特征:
上述技术方案中,进一步地,在解析会话请求之后,判断会话请求中包含的令牌信息是否处于有效时间内之前,还包括:判断会话请求中是否包含令牌信息,在判断结果为是时,解密令牌信息,并执行判断会话请求中包含的令牌信息是否处于有效时间内的步骤,否则,执行从会话服务器获取身份信息的步骤。
在该技术方案中,在解析会话请求之后,判断会话请求中包含的令牌信息是否处于有效时间内之前,还判断会话请求中是否包含令牌信息,只有在会话请求中包含令牌信息时,才能判断会话请求中的令牌信息是否处于是有效时间内。进一步地,为了提高数据传输的安全性,在终端向服务器发送会话请求时,会对会话请求中包含的令牌信息进行加密,服务器在判断会话请求中包含令牌信息时,对令牌信息进行解密,以执行判断令牌信息是否在有效时间的步骤。在判断结果为否时,从会话服务器中获取身份信息,以确保终端发送的会话请求得到响应。
上述任一技术方案中,进一步地,在从会话服务器获取身份信息的同时,还包括:获取经由会话服务器得到的身份信息所对应的令牌信息;判断经由会话服务器得到的身份信息所对应的令牌信息与令牌信息是否一致,在判断结果不一致时,将经由会话服务器得到的身份信息所对应的令牌信息发送至终端。
在该技术方案中,在从会话服务器中获取身份信息的同时,还获取身份信息对应的令牌信息,判断经由会话服务器得到的令牌信息和终端发送的令牌信息是否一致,在判断结果一致时,通过身份信息的验证。通过对令牌信息比较,进一步对发送会话请求的身份信息进行验证,确定是否对获取得到的令牌信息进行存储,以便终端在有效时间内重新访问会话服务器。
上述任一技术方案中,进一步地,从会话服务器获取身份信息的步骤具体包括:发送会话身份识别号码至会话服务器,以使会话服务器根据会话身份识别号码查找与会话身份识别号码对应的身份信息,并判断会话身份识别号码对应的身份信息中包含的令牌信息是否处于有效时间内,在判断结果为是时,接受会话服务器返回的会话身份识别号码对应的身份信息,在判断结果为否时,更新会话身份识别号码对应的身份信息所对应的令牌信息,并持久化身份信息。
在该技术方案中,在终端发送的会话请求中不包含令牌信息、或者会话身份识别号码和令牌信息不一致、或者令牌信息没有处于有效时间时,将会话请求中包含的会话身份识别号码发送至会话服务器,以使会话服务器根据会话身份识别号码查找会话身份识别号码对应的身份信息,并判断该身份信息对应的令牌信息是否处于有效时间内。通过判断身份信息对应的令牌信息是否处于有效时间内,对请求信息中令牌信息是否有效进行再一次的判定,避免服务器出现误判造成用户访问失败,同时在判断令牌信息不处于失效时间内时,为会话请求颁发新的令牌信息,以使服务器获取的身份信息和颁发的令牌信息后进行持久化,以便终端根据重新颁发的令牌信息访问服务器,实现终端与服务器的持续会话。同时,减少终端向会话服务器请求频率。
上述任一技术方案中,进一步地,判断令牌信息是否处于有效时间内的步骤,具体包括:查询会话请求中包含的令牌信息的持续时长以及有效时间;将持续时长与有效时间进行比较,当持续时长小于或等于有效时间时,判定会话请求中包含的令牌信息处于有效时间内;否则,判断会话请求中包含的令牌信息无效。
在该技术方案中,其中有效时间可以根据访问请求的数量进行设定,通过将查询会话请求中的令牌信息的持续时长以及有效时间,并判断持续时长是否小于有效时间,在判断结果为是时,判定令牌信息处于有效时间内,否在判定令牌信息无效,以便颁发新的令牌信息。
上述任一技术方案中,进一步地,令牌信息通过JSON Web Token方法生成。
在该技术方案中,JSON Web Token是基于开放标准(RFC 7519)实现的。JWT(JSONWeb Token)定义了一种简洁的,自包含的方法,通信双方之间使用签名后的Json对象传递信息。一旦用户完成了登陆,在接下来的每个请求中包含JWT,可以用来验证用户身份以及对路由,服务和资源的访问权限进行验证。信息交换在通信的双方之间使用JWT对数据进行编码是一种非常安全的方式,由于它的信息是经过签名的,可以确保发送者发送的信息是没有经过伪造的。
根据本发明公开的实施例的第二方面,提供了一种服务器,包括:存储器,配置为存储可执行指令;处理器,配置为执行存储的指令以:获取终端发送的会话请求;解析会话请求,判断会话请求中包含的令牌信息是否处于有效时间内;在判断结果为是时,判断会话请求中的会话身份识别号码和令牌信息是否匹配,在会话身份识别号码和令牌信息匹配时,获取令牌信息对应的身份信息;在会话身份识别号码和令牌信息不一致时,从会话服务器获取身份信息;在判断结果为否时,从会话服务器获取身份信息。
本发明公开的实施例提供了一种服务器包括:存储器,配置为存储可执行指令;处理器,配置为执行存储的指令以:在获取得到终端发送的会话请求时,对获取得到的会话请求进行解析,得到会话请求中包含的令牌信息,并判断令牌信息是否处于有效时间内,在判断结果为是时,再判断会话请求中的会话身份识别号码和令牌信息是否匹配,在判断两者一致时,获取令牌对应的身份信息,进而实现与会话服务器的会话访问,在判断结果为否时,从会话服务器中获取身份信息。通过为令牌信息设置有效时间,使得令牌信息在有效时间外才需要向会话服务器获取身份信息,减少了终端向会话服务器请求频率,会话服务器可以以处理新增的会话请求,实现扩容,同时确保了用户的使用体验,降低出现服务器卡顿的可能。
此外,在判断令牌信息在有效期内之后,还判断会话请求中的会话身份识别号码和令牌信息是否匹配,只有判断会话请求中的会话身份识别号码和令牌信息匹配时,才获取令牌信息对应的身份信息,确保了身份信息的安全,规避了仅通过判断令牌信息是否在有效期内而直接确定是否信任终端可能出现的安全问题,进而提高了身份信息的安全性。
在会话身份识别号码和令牌信息不一致以及会话请求中包含的令牌信息不在有效时间内时,从会话服务器中获取会话请求对应的身份信息,以确保用户会话请求的正常响应,避免出现会话服务器对终端发送的会话请求无响应的出现。
另外,本发明提供的上述技术方案中的服务器,还可以具有如下附加技术特征:
上述技术方案中,进一步地,处理器,还用于执行存储的指令以:判断会话请求中是否包含令牌信息,在判断结果为是时,解密令牌信息,并执行判断会话请求中包含的令牌信息是否处于有效时间内的步骤,否则,执行从会话服务器获取身份信息的步骤。
在该技术方案中,在解析会话请求之后,判断会话请求中包含的令牌信息是否处于有效时间内之前,还判断会话请求中是否包含令牌信息,只有在会话请求中包含令牌信息时,才能判断会话请求中的令牌信息是否处于是有效时间内。进一步地,为了提高数据传输的安全性,在终端向服务器发送会话请求时,会对会话请求中包含的令牌信息进行加密,服务器在判断会话请求中包含令牌信息时,对令牌信息进行解密,以执行判断令牌信息是否在有效时间的步骤。在判断结果为否时,从会话服务器中获取身份信息,以确保终端发送的会话请求得到响应。
上述任一技术方案中,进一步地,处理器,还用于执行存储的指令以:获取经由会话服务器得到的身份信息所对应的令牌信息;判断经由会话服务器得到的身份信息所对应的令牌信息与令牌信息是否一致,在判断结果不一致时,将经由会话服务器得到的身份信息所对应的令牌信息发送至终端。
在该技术方案中,在从会话服务器中获取身份信息的同时,还获取身份信息对应的令牌信息,判断经由会话服务器得到的令牌信息和终端发送的令牌信息是否一致,在判断结果一致时,通过身份信息的验证。通过对令牌信息比较,进一步对发送会话请求的身份信息进行验证,确定是否对获取得到的令牌信息进行存储,以便终端在有效时间内重新访问会话服务器。
上述任一技术方案中,进一步地,处理器,具体用于执行存储的指令以:发送会话身份识别号码至会话服务器,以使会话服务器根据会话身份识别号码查找与会话身份识别号码对应的身份信息,并判断会话身份识别号码对应的身份信息中包含的令牌信息是否处于有效时间内,在判断结果为是时,接受会话服务器返回的会话身份识别号码对应的身份信息,在判断结果为否时,更新会话身份识别号码对应的身份信息所对应的令牌信息,并持久化身份信息。
在该技术方案中,在终端发送的会话请求中不包含令牌信息、或者会话身份识别号码和令牌信息不一致、或者令牌信息没有处于有效时间时,将会话请求中包含的会话身份识别号码发送至会话服务器,以使会话服务器根据会话身份识别号码查找会话身份识别号码对应的身份信息,并判断该身份信息对应的令牌信息是否处于有效时间内。通过判断身份信息对应的令牌信息是否处于有效时间内,对请求信息中令牌信息是否有效进行再一次的判定,避免服务器出现误判造成用户访问失败,同时在判断令牌信息不处于失效时间内时,为会话请求颁发新的令牌信息,以使服务器获取的身份信息和颁发的令牌信息后进行持久化,以便终端根据重新颁发的令牌信息访问服务器,实现终端与服务器的持续会话。同时,减少终端向会话服务器请求频率。
上述任一技术方案中,进一步地,处理器,具体用于执行存储的指令以:查询会话请求中包含的令牌信息的持续时长以及有效时间;将持续时长与有效时间进行比较,当持续时长小于或等于有效时间时,判定会话请求中包含的令牌信息处于有效时间内;否则,判断会话请求中包含的令牌信息无效。
在该技术方案中,其中有效时间可以根据访问请求的数量进行设定,通过将查询会话请求中的令牌信息的持续时长以及有效时间,并判断持续时长是否小于有效时间,在判断结果为是时,判定令牌信息处于有效时间内,否在判定令牌信息无效,以便颁发新的令牌信息。
上述任一技术方案中,进一步地,令牌信息通过JSON Web Token方法生成。
在该技术方案中,JSON Web Token是基于开放标准(RFC 7519)实现的。JWT(JSONWeb Token)定义了一种简洁的,自包含的方法,通信双方之间使用签名后的Json对象传递信息。一旦用户完成了登陆,在接下来的每个请求中包含JWT,可以用来验证用户身份以及对路由,服务和资源的访问权限进行验证。信息交换在通信的双方之间使用JWT对数据进行编码是一种非常安全的方式,由于它的信息是经过签名的,可以确保发送者发送的信息是没有经过伪造的。
本发明公开的实施例的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明公开的实施例的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例提供的会话访问方法的流程示意图;
图2示出了根据本发明的另一个实施例提供的会话访问方法的流程示意图;
图3示出了根据本发明的再一个实施例提供的会话访问方法的流程示意图;
图4示出了根据本发明的又一个实施例提供的从会话服务器获取身份信息的流程示意图;
图5示出了根据本发明的又根据本发明的一个实施例提供的从终端、服务器以及会话服务器的示意框图;
图6示出了根据本发明的一个实施例提供的服务器的示意框图。
其中,图5中的附图标记与部件名称之间的对应关系为:
1终端,2单点登录服务,3会话服务器,4服务器,5共享内存。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
如图1所示,根据本发明的一个实施例提供的会话访问方法的流程示意图。其中,会话访问方法包括:
S102,获取终端发送的会话请求;
S104,解析会话请求;
S106,判断会话请求中包含的令牌信息是否处于有效时间内,在判断结果为是时,执行S108,否者执行S212;
S108,判断会话请求中的会话身份识别号码和令牌信息是否匹配,在判断结果匹配时,执行S110,否则执行S112;
S110,获取令牌信息对应的身份信息;
S112,从会话服务器获取身份信息。
本发明公开的实施例提供了一种会话访问方法,在获取得到终端发送的会话请求时,对获取得到的会话请求进行解析,得到会话请求中包含的令牌信息,并判断令牌信息是否处于有效时间内,在判断结果为是时,再判断会话请求中的会话身份识别号码和令牌信息是否匹配,在判断两者一致时,获取令牌对应的身份信息,进而实现与会话服务器的会话访问,在判断结果为否时,从会话服务器中获取身份信息。通过为令牌信息设置有效时间,使得令牌信息在有效时间外才需要向会话服务器获取身份信息,减少了终端向会话服务器请求频率,会话服务器可以以处理新增的会话请求,实现扩容,同时确保了用户的使用体验,降低出现服务器卡顿的可能。
此外,在判断令牌信息在有效期内之后,还判断会话请求中的会话身份识别号码和令牌信息是否匹配,只有判断会话请求中的会话身份识别号码和令牌信息匹配时,才获取令牌信息对应的身份信息,确保了身份信息的安全,规避了仅通过判断令牌信息是否在有效期内而直接确定是否信任终端可能出现的安全问题,进而提高了身份信息的安全性。
在会话身份识别号码和令牌信息不一致以及会话请求中包含的令牌信息不在有效时间内时,从会话服务器中获取会话请求对应的身份信息,以确保用户会话请求的正常响应,避免出现会话服务器对终端发送的会话请求无响应的出现。
在本发明的一个实施例中,如图2所示,根据本发明的另一个实施例提供的会话访问方法的流程示意图。其中,会话访问方法包括:
S202,获取终端发送的会话请求;
S204,解析会话请求;
S206,判断会话请求中是否包含令牌信息,在判断结果为是时,执行S208,否则执行S214;
S208,判断会话请求中包含的令牌信息是否处于有效时间内,在判断结果为是时,执行S210,否则执行S214;
S210,判断会话请求中的会话身份识别号码和令牌信息是否匹配,在判断结果为是时,执行S212,否则执行S214;
S212,获取令牌信息对应的身份信息;
S214,从会话服务器获取身份信息。
在该实施例中,在解析会话请求之后,判断会话请求中包含的令牌信息是否处于有效时间内之前,还判断会话请求中是否包含令牌信息,只有在会话请求中包含令牌信息时,才能判断会话请求中的令牌信息是否处于是有效时间内。进一步地,为了提高数据传输的安全性,在终端向服务器发送会话请求时,会对会话请求中包含的令牌信息进行加密,服务器在判断会话请求中包含令牌信息时,对令牌信息进行解密,以执行判断令牌信息是否在有效时间的步骤。在判断结果为否时,从会话服务器中获取身份信息,以确保终端发送的会话请求得到响应。
在本发明的一个实施例中,如图3所示,根据本发明的再一个实施例提供的会话访问方法的流程示意图。其中,会话访问方法包括:
S302,获取终端发送的会话请求;
S304,解析会话请求;
S306,判断会话请求中是否包含令牌信息,在判断结果为是时,执行S308,否则执行S314;
S308,判断会话请求中包含的令牌信息是否处于有效时间内,在判断结果为是时,执行S310,否则执行S314;
S310,判断会话请求中的会话身份识别号码和令牌信息是否匹配,在判断结果为是时,执行S312,否则执行S314;
S312,获取令牌信息对应的身份信息;
S314,从会话服务器获取身份信息以及获取经由会话服务器得到的身份信息所对应的令牌信息;
S316,判断经由会话服务器得到的身份信息所对应的令牌信息与令牌信息是否一致,在判断结果不一致时,执行S318;
S318,将经由会话服务器得到的身份信息所对应的令牌信息发送至终端。
在该实施例中,在从会话服务器中获取身份信息的同时,还获取身份信息对应的令牌信息,判断经由会话服务器得到的令牌信息和终端发送的令牌信息是否一致,在判断结果一致时,通过身份信息的验证。通过对令牌信息比较,进一步对发送会话请求的身份信息进行验证,确定是否对获取得到的令牌信息进行存储,以便终端在有效时间内重新访问会话服务器。
在本发明的一个实施例中,如图4所示,根据本发明的一个实施例提供的从会话服务器获取身份信息的流程示意图。其中,从会话服务器获取身份信息的步骤具体包括:
S402,发送会话身份识别号码至会话服务器,以使会话服务器根据会话身份识别号码查找与会话身份识别号码对应的身份信息;
S404,判断会话身份识别号码对应的身份信息中包含的令牌信息是否处于有效时间内,在判断结果为是时,执行S406,否则执行S408;
S406,接受会话服务器返回的会话身份识别号码对应的身份信息;
S408,更新会话身份识别号码对应的身份信息所对应的令牌信息,并持久化身份信息。
在该实施例中,在终端发送的会话请求中不包含令牌信息、或者会话身份识别号码和令牌信息不一致、或者令牌信息没有处于有效时间时,将会话请求中包含的会话身份识别号码发送至会话服务器,以使会话服务器根据会话身份识别号码查找会话身份识别号码对应的身份信息,并判断该身份信息对应的令牌信息是否处于有效时间内。通过判断身份信息对应的令牌信息是否处于有效时间内,对请求信息中令牌信息是否有效进行再一次的判定,避免服务器出现误判造成用户访问失败,同时在判断令牌信息不处于失效时间内时,为会话请求颁发新的令牌信息,以使服务器获取的身份信息和颁发的令牌信息后进行持久化,以便终端根据重新颁发的令牌信息访问服务器,实现终端与服务器的持续会话。同时,减少终端向会话服务器请求频率。
在上述任一实施例中,判断令牌信息是否处于有效时间内的步骤,具体包括:查询会话请求中包含的令牌信息的持续时长以及有效时间;将持续时长与有效时间进行比较,当持续时长小于或等于有效时间时,判定会话请求中包含的令牌信息处于有效时间内;否则,判断会话请求中包含的令牌信息无效。
在该实施例中,其中有效时间可以根据访问请求的数量进行设定,通过将查询会话请求中的令牌信息的持续时长以及有效时间,并判断持续时长是否小于有效时间,在判断结果为是时,判定令牌信息处于有效时间内,否在判定令牌信息无效,以便颁发新的令牌信息。
上述任一实施例中,进一步地,令牌信息通过JSON Web Token方法生成。
在该实施例中,JSON Web Token是基于开放标准(RFC 7519)实现的。JWT(JSONWeb Token)定义了一种简洁的,自包含的方法,通信双方之间使用签名后的Json对象传递信息。一旦用户完成了登陆,在接下来的每个请求中包含JWT,可以用来验证用户身份以及对路由,服务和资源的访问权限进行验证。信息交换在通信的双方之间使用JWT对数据进行编码是一种非常安全的方式,由于它的信息是经过签名的,可以确保发送者发送的信息是没有经过伪造的。
在本发明的一个实施例中,还包括,接收终端发送的会话注销请求,清除会话注销请求对应的会话。
在该实施例中,在接收终端发送的会话注销请求时,清除会话注销请求对应的会话即可实现后台注销,摆脱了现阶段只能等待终端中存储的身份信息超出有效时间后才能注销的弊端。
在本发明的一个实施例中,如图5所示,根据本发明的一个实施例提供的从终端1、服务器以及会话服务器3的示意框图。终端1通过单点登录服务2(Single Sign On,简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。)访问会话服务器3,会话服务器3为通过终端1登陆的用户创建session(身份信息),同时还为该session(身份信息)创建具有有效时间的JSON Web Token(令牌信息),将JSON Web Token和有效时间存储在session(身份信息)中,写入至会话服务器3中的共享内存5中,并将JSONWeb Token和session(身份信息)的id(身份识别号码)反馈至终端1存储。具体地,会将JSON Web Token和session(身份信息)的id(身份识别号码)存储在浏览器中的cookie(Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端1上的数据(通常经过加密),可以叫做浏览器缓存)。终端1向服务器4发送请求时,服务器4会对请求进行拦截,判断请求中是否包含JSON Web Token,在请求中包含JSON Web Token时,对JSONWeb Token进行签名认证和有限期验证,如果JSON Web Token处于有效期内,直接从JSONWeb Token中解析出会话信息,如果JSON Web Token没有处于有效期内,服务器4从cookie中读取session(身份信息)对应的id(身份识别号码),以使会话服务器3根据id(身份识别号码)从会话服务器3中获取对应的session(身份信息),并读取当前系统时间,以及将当前系统时间和JSON Web Token的有效时间进行比较,判断JSON Web Token是否有效,在判断结果为否时,重新为session(身份信息)颁发新的JSON Web Token以及有效时间,同时将新的JSON Web Token以及有效时间写入至内存中。同时服务器会4从会话服务器3中获取id(身份识别号码)对应的session(身份信息),并判断session(身份信息)中的JSONWebToken是否与终端1发送的JSON Web Token是否一致,在不一致时,将session(身份信息)中的JSON Web Token发送至终端1更新,具体地,更新终端1浏览器中的cookie。
在上述任一实施例中,session(身份信息)对应的JSON Web Token具有有效时间,在超出有效时间后,session(身份信息)无法使用,进而实现超时注销。
具体地,同一个用户在短效JSON Web Token过期前只访问一次会话服务。如果当前会话服务可提供的稳定QPS((Query Per Second)意思为“每秒查询率”,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准)为N次/秒,平均用户操作频率为K次/秒,那么可支撑同时在线人数为N/K;使用本方案后,设当前短效JSON WebToken的过期时间为T;T>(1/K)那么用户请求会话服务的频率为1/T,可支持同时在线人数变为N/(1/T)=N×T;更稳定:常规采用集中会话的方式,有一个隐含的约定:客户端系统静态资源不过session服务拦截。这要求客户端实现动静分离或能对系统中的静态资源进行很好的区分。假设用户请求页面的频率为K次/秒。每个页面请求包含N个静态请求。如果这些静态请求都经过session服务拦截,那么session服务的请求数变为k+k×N次/秒。这种场景会对session服务造成很大的压力。本文的解决方案可以有效面对这种场景:在短效JSON Web Token有效时间内,同一终端某用户向业务系统微服务服务器发起的大量请求,只有少量需要访问会话服务。(介于1和浏览器请求最大并发数之间,目前主流浏览器一般默认最大并发数是6),通过动态调整JWT token的失效时间,实现了在SDK(Software Development Kit,软件开发工具包,一般都是特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合)端对会话服务的降频,不影响微服务本身的服务能力,做到业务无感知降级。
优选地,在本发明的一个实施例中,上述方案应用在一下场景中的任意一种:1)企业级服务,对登录认证安全机制要求较高,要求能支持多终端互斥、后台注销、会话超时注销;2)中心会话服务服务于大量微服务,压力巨大;3)业务访问存在高峰期。
如图6所示,根据本发明的一个实施例提供的服务器600的框架示意图。本发明公开的实施例的第二方面提供了一种服务器600,服务器600包括:存储器602,配置为存储可执行指令;处理器604,配置为执行存储的指令以实现如上述任一实施例会话访问方法的步骤。因此,该服务器600具有上述任一实施例的会话访问方法的全部有益效果。
具体地,上述处理器804可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。在特定实施例中,存储器602包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
在本说明书的描述中,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明公开的实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“多个”则指两个或两个以上,除非另有明确的限定;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明公开的实施例中的具体含义。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明公开的至少一个实施例或示例中。
在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明公开的实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种会话访问方法,用于服务器,其特征在于,包括:
获取终端发送的会话请求;
解析所述会话请求,判断所述会话请求中包含的令牌信息是否处于有效时间内;
在判断结果为是时,判断所述会话请求中的会话身份识别号码和所述令牌信息是否匹配,在所述会话身份识别号码和所述令牌信息匹配时,获取所述令牌信息对应的身份信息;在所述会话身份识别号码和所述令牌信息不一致时,从会话服务器获取身份信息;
在判断结果为否时,从会话服务器获取身份信息。
2.根据权利要求1所述的会话访问方法,其特征在于,
在所述解析所述会话请求之后,判断所述会话请求中包含的令牌信息是否处于有效时间内之前,还包括:
判断所述会话请求中是否包含所述令牌信息,在判断结果为是时,解密所述令牌信息,并执行所述判断所述会话请求中包含的令牌信息是否处于有效时间内的步骤,否则,执行从会话服务器获取身份信息的步骤。
3.根据权利要求1所述的会话访问方法,其特征在于,在所述从会话服务器获取身份信息的同时,还包括:
获取经由所述会话服务器得到的身份信息所对应的令牌信息;
判断经由所述会话服务器得到的身份信息所对应的令牌信息与所述令牌信息是否一致,在判断结果不一致时,将经由所述会话服务器得到的身份信息所对应的令牌信息发送至所述终端。
4.根据权利要求1至3中任一项所述的会话访问方法,其特征在于,所述从会话服务器获取身份信息的步骤具体包括:
发送所述会话身份识别号码至会话服务器,以使所述会话服务器根据所述会话身份识别号码查找与所述会话身份识别号码对应的身份信息,并判断所述会话身份识别号码对应的身份信息中包含的令牌信息是否处于有效时间内,在判断结果为是时,接受所述会话服务器返回的所述会话身份识别号码对应的身份信息,在判断结果为否时,更新所述会话身份识别号码对应的身份信息所对应的所述令牌信息,并持久化所述身份信息。
5.根据权利要求4所述的会话访问方法,其特征在于,判断令牌信息是否处于有效时间内的步骤,具体包括:
查询所述会话请求中包含的令牌信息的持续时长以及所述有效时间;
将所述持续时长与所述有效时间进行比较,当所述持续时长小于或等于所述有效时间时,判定所述会话请求中包含的令牌信息处于有效时间内;否则,判断所述会话请求中包含的令牌信息无效。
6.根据权利要求5所述的会话访问方法,其特征在于,所述令牌信息通过JSON WebToken方法生成。
7.一种服务器,其特征在于,包括:
存储器,配置为存储可执行指令;
处理器,配置为执行存储的指令以:获取终端发送的会话请求;
解析所述会话请求,判断所述会话请求中包含的令牌信息是否处于有效时间内;
在判断结果为是时,判断所述会话请求中的会话身份识别号码和所述令牌信息是否匹配,在所述会话身份识别号码和所述令牌信息匹配时,获取所述令牌信息对应的身份信息;在所述会话身份识别号码和所述令牌信息不一致时,从会话服务器获取身份信息;
在判断结果为否时,从会话服务器获取身份信息。
8.根据权利要求7所述的服务器,其特征在于,所述处理器,还用于执行存储的指令以:
判断所述会话请求中是否包含所述令牌信息,在判断结果为是时,解密所述令牌信息,并执行所述判断所述会话请求中包含的令牌信息是否处于有效时间内的步骤,否则,执行从会话服务器获取身份信息的步骤。
9.根据权利要求7所述的服务器,其特征在于,所述处理器,还用于执行存储的指令以:
获取经由所述会话服务器得到的身份信息所对应的令牌信息;
判断经由所述会话服务器得到的身份信息所对应的令牌信息与所述令牌信息是否一致,在判断结果不一致时,将经由所述会话服务器得到的身份信息所对应的令牌信息发送至所述终端。
10.根据权利要求7至9中任一项所述的服务器,其特征在于,所述处理器,具体用于执行存储的指令以:
发送所述会话身份识别号码至会话服务器,以使所述会话服务器根据所述会话身份识别号码查找与所述会话身份识别号码对应的身份信息,并判断所述会话身份识别号码对应的身份信息中包含的令牌信息是否处于有效时间内,在判断结果为是时,接受所述会话服务器返回的所述会话身份识别号码对应的身份信息,在判断结果为否时,更新所述会话身份识别号码对应的身份信息所对应的所述令牌信息,并持久化所述身份信息。
11.根据权利要求10所述的服务器,其特征在于,所述处理器,具体用于执行存储的指令以:
查询所述会话请求中包含的令牌信息的持续时长以及所述有效时间;
将所述持续时长与所述有效时间进行比较,当所述持续时长小于或等于所述有效时间时,判定所述会话请求中包含的令牌信息处于有效时间内;否则,判断所述会话请求中包含的令牌信息无效。
12.根据权利要求11所述的服务器,其特征在于,所述令牌信息通过JSONWeb Token方法生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811497896.3A CN109587251A (zh) | 2018-12-07 | 2018-12-07 | 会话访问方法以及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811497896.3A CN109587251A (zh) | 2018-12-07 | 2018-12-07 | 会话访问方法以及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109587251A true CN109587251A (zh) | 2019-04-05 |
Family
ID=65929395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811497896.3A Pending CN109587251A (zh) | 2018-12-07 | 2018-12-07 | 会话访问方法以及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109587251A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110232265A (zh) * | 2019-06-21 | 2019-09-13 | 杭州安恒信息技术股份有限公司 | 双重身份认证方法、装置及系统 |
CN110493308A (zh) * | 2019-07-08 | 2019-11-22 | 中国平安人寿保险股份有限公司 | 分布式一致性系统会话方法、装置及存储介质、服务器 |
CN110995702A (zh) * | 2019-12-02 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | 一种基于分布式微服务的用户认证方法 |
CN111027976A (zh) * | 2019-11-13 | 2020-04-17 | 支付宝(杭州)信息技术有限公司 | 一种获取欺诈方的交易身份信息的方法 |
CN111209349A (zh) * | 2019-12-26 | 2020-05-29 | 曙光信息产业(北京)有限公司 | 一种更新会话时间的方法和装置 |
CN111565165A (zh) * | 2019-12-06 | 2020-08-21 | 广州微算互联信息技术有限公司 | 一种云手机认证、维持和状态变更系统及方法 |
WO2020215698A1 (zh) * | 2019-04-25 | 2020-10-29 | 平安科技(深圳)有限公司 | 单点登录的校验方法、装置、计算机设备及存储介质 |
CN112035822A (zh) * | 2020-08-25 | 2020-12-04 | 北京锐安科技有限公司 | 多应用单点登录方法、装置、设备及存储介质 |
CN112153012A (zh) * | 2020-09-01 | 2020-12-29 | 珠海市卓轩科技有限公司 | 多端触点接入方法、装置及存储介质 |
CN112929339A (zh) * | 2021-01-21 | 2021-06-08 | 艾迪通证技术(北京)有限公司 | 一种保护隐私的消息传送方法 |
CN113965345A (zh) * | 2021-09-08 | 2022-01-21 | 福建库克智能科技有限公司 | 一种身份识别方法、装置、电子设备和存储介质 |
CN114363091A (zh) * | 2022-03-02 | 2022-04-15 | 工业互联网创新中心(上海)有限公司 | 一种基于apisix实现平台应用统一登录的方法及系统 |
CN115514478A (zh) * | 2022-09-22 | 2022-12-23 | 广西电网有限责任公司南宁供电局 | 一种配电智能终端的加密认证方法、系统及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202753A (zh) * | 2007-11-29 | 2008-06-18 | 中国电信股份有限公司 | 一种客户端访问插件应用系统的方法和装置 |
US20120254957A1 (en) * | 2011-03-28 | 2012-10-04 | International Business Machines Corporation | User impersonation/delegation in a token-based authentication system |
CN106302346A (zh) * | 2015-05-27 | 2017-01-04 | 阿里巴巴集团控股有限公司 | Api调用的安全认证方法、装置、系统 |
CN106603713A (zh) * | 2016-12-29 | 2017-04-26 | 深圳Tcl新技术有限公司 | 会话管理方法和系统 |
CN107770140A (zh) * | 2016-08-22 | 2018-03-06 | 南京中兴软件有限责任公司 | 一种单点登录认证方法及装置 |
CN107992340A (zh) * | 2017-11-16 | 2018-05-04 | 努比亚技术有限公司 | 用于分布式集群系统的系统退出方法及分布式集群系统 |
-
2018
- 2018-12-07 CN CN201811497896.3A patent/CN109587251A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202753A (zh) * | 2007-11-29 | 2008-06-18 | 中国电信股份有限公司 | 一种客户端访问插件应用系统的方法和装置 |
US20120254957A1 (en) * | 2011-03-28 | 2012-10-04 | International Business Machines Corporation | User impersonation/delegation in a token-based authentication system |
CN106302346A (zh) * | 2015-05-27 | 2017-01-04 | 阿里巴巴集团控股有限公司 | Api调用的安全认证方法、装置、系统 |
CN107770140A (zh) * | 2016-08-22 | 2018-03-06 | 南京中兴软件有限责任公司 | 一种单点登录认证方法及装置 |
CN106603713A (zh) * | 2016-12-29 | 2017-04-26 | 深圳Tcl新技术有限公司 | 会话管理方法和系统 |
CN107992340A (zh) * | 2017-11-16 | 2018-05-04 | 努比亚技术有限公司 | 用于分布式集群系统的系统退出方法及分布式集群系统 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020215698A1 (zh) * | 2019-04-25 | 2020-10-29 | 平安科技(深圳)有限公司 | 单点登录的校验方法、装置、计算机设备及存储介质 |
CN110232265A (zh) * | 2019-06-21 | 2019-09-13 | 杭州安恒信息技术股份有限公司 | 双重身份认证方法、装置及系统 |
CN110493308A (zh) * | 2019-07-08 | 2019-11-22 | 中国平安人寿保险股份有限公司 | 分布式一致性系统会话方法、装置及存储介质、服务器 |
CN110493308B (zh) * | 2019-07-08 | 2023-05-30 | 中国平安人寿保险股份有限公司 | 分布式一致性系统会话方法、装置及存储介质、服务器 |
CN111027976A (zh) * | 2019-11-13 | 2020-04-17 | 支付宝(杭州)信息技术有限公司 | 一种获取欺诈方的交易身份信息的方法 |
CN111027976B (zh) * | 2019-11-13 | 2022-06-14 | 支付宝(杭州)信息技术有限公司 | 一种获取欺诈方的交易身份信息的方法 |
CN110995702B (zh) * | 2019-12-02 | 2021-09-21 | 杭州安恒信息技术股份有限公司 | 一种基于分布式微服务的用户认证方法 |
CN110995702A (zh) * | 2019-12-02 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | 一种基于分布式微服务的用户认证方法 |
CN111565165B (zh) * | 2019-12-06 | 2022-06-28 | 广州微算互联信息技术有限公司 | 一种云手机认证、维持和状态变更系统及方法 |
CN111565165A (zh) * | 2019-12-06 | 2020-08-21 | 广州微算互联信息技术有限公司 | 一种云手机认证、维持和状态变更系统及方法 |
CN111209349A (zh) * | 2019-12-26 | 2020-05-29 | 曙光信息产业(北京)有限公司 | 一种更新会话时间的方法和装置 |
CN111209349B (zh) * | 2019-12-26 | 2023-07-04 | 曙光信息产业(北京)有限公司 | 一种更新会话时间的方法和装置 |
CN112035822A (zh) * | 2020-08-25 | 2020-12-04 | 北京锐安科技有限公司 | 多应用单点登录方法、装置、设备及存储介质 |
CN112153012B (zh) * | 2020-09-01 | 2021-07-06 | 珠海市卓轩科技有限公司 | 多端触点接入方法、装置及存储介质 |
CN112153012A (zh) * | 2020-09-01 | 2020-12-29 | 珠海市卓轩科技有限公司 | 多端触点接入方法、装置及存储介质 |
CN112929339A (zh) * | 2021-01-21 | 2021-06-08 | 艾迪通证技术(北京)有限公司 | 一种保护隐私的消息传送方法 |
CN112929339B (zh) * | 2021-01-21 | 2022-08-19 | 艾迪通证技术(北京)有限公司 | 一种保护隐私的消息传送方法 |
CN113965345A (zh) * | 2021-09-08 | 2022-01-21 | 福建库克智能科技有限公司 | 一种身份识别方法、装置、电子设备和存储介质 |
CN114363091A (zh) * | 2022-03-02 | 2022-04-15 | 工业互联网创新中心(上海)有限公司 | 一种基于apisix实现平台应用统一登录的方法及系统 |
CN115514478A (zh) * | 2022-09-22 | 2022-12-23 | 广西电网有限责任公司南宁供电局 | 一种配电智能终端的加密认证方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109587251A (zh) | 会话访问方法以及服务器 | |
US7010582B1 (en) | Systems and methods providing interactions between multiple servers and an end use device | |
EP3297243B1 (en) | Trusted login method and device | |
CN103460674B (zh) | 用于供应/实现推送通知会话的方法和推送供应实体 | |
CN111416822B (zh) | 访问控制的方法、电子设备和存储介质 | |
CN101647254B (zh) | 用于为终端设备提供服务的方法和系统 | |
CN108496380B (zh) | 服务器和存储介质 | |
CN112468481B (zh) | 一种基于CAS的单页和多页web应用身份集成认证方法 | |
CN104144163B (zh) | 身份验证方法、装置及系统 | |
CA2914426C (en) | Method for authenticating a user, corresponding server, communications terminal and programs | |
JP2006502496A (ja) | クライエント−サーバネットワークで通信を行うための方法およびシステム | |
KR20040005815A (ko) | 사용자를 웹 서버에 인증시키기 위한 시스템 및 방법 | |
US11165768B2 (en) | Technique for connecting to a service | |
CN105681258B (zh) | 基于第三方服务器的会话方法和会话装置 | |
CN105991640B (zh) | 处理http请求的方法及装置 | |
CN103023930A (zh) | 网页共享方法及装置 | |
CN113239308B (zh) | 一种页面访问方法、装置、设备及存储介质 | |
CN104837134B (zh) | 一种Web认证用户登录方法、设备和系统 | |
CN112600674A (zh) | 一种前后端分离系统的用户安全认证方法、装置及存储介质 | |
CN109218389A (zh) | 处理业务请求的方法、装置和存储介质以及电子设备 | |
CN112491890A (zh) | 一种访问方法及装置 | |
CN109862047A (zh) | 登录服务器的方法、装置及存储介质 | |
KR100697099B1 (ko) | 이종 메신저간의 메시지 전송 서비스 제공 시스템 및 그방법 | |
CN116647345A (zh) | 权限令牌的生成方法以及装置、存储介质、计算机设备 | |
JP2009043043A (ja) | Sipを用いた認証システムおよび認証方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190405 |