CN110232265B - 双重身份认证方法、装置及系统 - Google Patents
双重身份认证方法、装置及系统 Download PDFInfo
- Publication number
- CN110232265B CN110232265B CN201910544398.8A CN201910544398A CN110232265B CN 110232265 B CN110232265 B CN 110232265B CN 201910544398 A CN201910544398 A CN 201910544398A CN 110232265 B CN110232265 B CN 110232265B
- Authority
- CN
- China
- Prior art keywords
- token information
- client
- information
- session
- jsessionid
- 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.)
- Active
Links
Images
Classifications
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种双重身份认证方法、装置及系统,该方法包括:接收客户端的非登录请求;非登录请求中携带有jsessionid及Token信息;jsessionid存储于客户端的Cookie中,Token信息为用于身份认证的信息,存储于客户端的localStorage中;查找jsessionid对应的session;判断session的内容是否为空;如果session的内容为空,则判断Token信息是否有效;如果Token信息有效,则响应非登录请求。通过Cookie和localStorage的联合应用,可以实现两次身份认证,以避免由于误删Cookie而导致的会话丢失,无法对用户身份进行验证。
Description
技术领域
本发明涉及会话跟踪技术领域,尤其是涉及一种双重身份认证方法、装置及系统。
背景技术
Cookie是网站为了辨别用户身份、进行会话(session)跟踪而储存在用户本地终端上的数据。目前的会话跟踪基本上都是直接使用Cookie+session的方式进行,具体为通过Cookie存储的jessionid找到服务端关联的session对象,达到会话跟踪的目的。这种方式使用Cookie对用户身份进行存储,在用户由于误操作而删除Cookie的情况下,用户身份会丢失,因此,如果用户想要再次访问同一网站时,需要重新进行登录验证,给用户带来不便。
发明内容
本发明的目的在于提供双重身份认证方法、装置及系统,通过Cookie和localStorage的联合应用,可以实现两次身份认证,以避免由于误删Cookie而导致的会话丢失,无法对用户身份进行验证的问题。
本发明提供一种双重身份认证方法,该方法应用于服务器,该方法包括:
接收客户端的非登录请求;所述非登录请求中携带有jsessionid及Token信息;其中,所述jsessionid存储于客户端的Cookie中,所述Token信息为用于身份认证的信息,存储于客户端的localStorage中;
查找所述jsessionid对应的session;
判断所述session的内容是否为空;
如果所述session的内容为空,则判断所述Token信息是否有效;
如果所述Token信息有效,则响应所述非登录请求。
进一步的,在接收客户端的非登录请求的步骤之前,还包括:
接收客户端的首次登录请求;所述首次登录请求中携带有用户名及密码;
根据所述用户名及密码进行登录验证;
当所述登录验证成功后,分配jsessionid至所述客户端,以使所述客户端将所述jsessionid存储于Cookie中;并基于用户信息,生成Token信息,并将所述Token信息发送至所述客户端,以使所述客户端将所述Token信息存储于localStorage中。
进一步的,当所述非登录请求为需要权限的网页访问请求时,判断所述session的内容是否为空的步骤后,还包括:
如果所述session的内容不为空,则根据所述session的内容获取用户权限信息;
基于所述用户权限信息,判断用户是否有权访问此网页;
如果是,获取相应数据进行响应;
如果否,返回无权限页面。
进一步的,当所述非登录请求为需要权限的网页访问请求时,响应所述非登录请求的步骤,包括:
解析所述Token信息,得到用户信息;
基于所述用户信息中的用户权限信息,判断用户是否有权限访问此网页;
如果是,获取相应数据进行响应;
如果否,返回无权限页面。
本发明还提供一种双重身份认证方法,该方法应用于客户端,所述方法包括:
将Token信息添加至请求头中;所述Token信息为用于身份认证的信息,存储于客户端的localStorage中;
基于所述请求头及Cookie生成非登录请求;所述Cookie中存储有jsessionid;非登录请求中携带有所述jsessionid及所述Token信息;
向服务器发送所述非登录请求,以使所述服务器查找所述jsessionid对应的session,并判断所述session的内容是否为空,如果所述session的内容为空,则判断所述Token信息是否有效;如果所述Token信息有效,则响应所述非登录请求。
进一步的,在将Token信息添加至请求头中的步骤之前,还包括:
向服务器发送首次登录请求;所述首次登录请求中携带有用户名及密码;
在所述服务器根据所述用户名及密码进行登录验证并验证成功后,接收所述服务器分配的jsessionid,并将所述jsessionid存储于Cookie中,并接收所述服务器基于用户信息,生成的Token信息,并将所述Token信息存储于localStorage中。
本发明还提供一种双重身份认证装置,所述装置应用于服务器,所述装置包括:
请求接收模块,用于接收客户端的非登录请求;所述非登录请求中携带有jsessionid及Token信息;其中,所述jsessionid存储于客户端的Cookie中,所述Token信息为用于身份认证的信息,存储于客户端的localStorage中;
会话查找模块,用于查找所述jsessionid对应的session;
会话判断模块,用于判断所述session的内容是否为空;
令牌信息判断模块,用于在所述session的内容为空时,判断所述token信息是否有效;
响应模块,用于在所述token信息有效时,响应所述非登录请求。
本发明还提供一种双重身份认证装置,所述装置应用于客户端,所述装置包括:
信息添加模块,用于将Token信息添加至请求头中;所述Token信息为用于身份认证的信息,存储于客户端的localStorage中;
请求生成模块,用于基于所述请求头及Cookie生成非登录请求;所述Cookie中存储有jsessionid;非登录请求中携带有所述jsessionid及所述Token信息;
请求发送模块,用于向服务器发送所述非登录请求,以使所述服务器查找所述jsessionid对应的session,并判断所述session的内容是否为空,如果所述session的内容为空,则判断所述Token信息是否有效;如果所述Token信息有效,则响应所述非登录请求。
本发明还提供一种双重身份认证系统,包括:客户端和服务器;
所述客户端与所述服务器通信连接;
所述客户端的存储区域包括Cookie和localStorage。
本发明还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如上所述的双重身份认证方法的步骤。
本发明提供的双重身份认证方法,在接收客户端的非登录请求后,首先通过非登录请求中携带有jsessionid,查找其对应的session,查找到session后,进一步判断该session对应的内容是不是空的,如果是,那么进一步通过非登录请求中携带的Token信息进行校验,判断该Token信息是否有效,如果所述Token信息有效,则响应所述非登录请求。上述jsessionid存储于客户端的Cookie中,Token信息为用于身份认证的信息,存储于客户端的localStorage中,因此,本发明通过Cookie和localStorage的联合应用,可以实现双重身份认证,以避免由于误删Cookie而导致的会话丢失,无法对用户身份进行验证的问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种双重身份认证方法的流程图;
图2为本发明实施例提供的另一种双重身份认证方法的流程图;
图3为本发明实施例提供的另一种双重身份认证方法的流程图;
图4为本发明实施例提供的另一种双重身份认证方法的流程图;
图5为本发明实施例提供的一种双重身份认证装置的结构示意图;
图6为本发明实施例提供的另一种双重身份认证装置的结构示意图;
图7为本发明实施例提供的一种双重身份认证系统的结构示意图;
图8为本发明实施例提供的另一种双重身份认证系统的结构示意图;
图9为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种双重身份认证方法,该方法的流程图参见图1所示,该方法应用于服务器,具体包括以下步骤:
步骤S102,接收客户端的非登录请求;非登录请求中携带有jsessionid及Token信息。
其中,jsessionid存储于客户端的Cookie中,相当于session的ID,通过jsessionid可以找到对应的session。Token信息为用于身份认证的信息,存储于客户端的localStorage中。客户端基于Cookie中的jsessionid和localStorage中Token信息,生成非登录请求,比如网页访问请求,向服务器发送,也就是服务器接收到的非登录请求中携带有jsessionid及Token信息。
上述Token信息可以通过JWT(JSON Web Tokens)来实现,JWT一般包括三部分,Header-头信息;Payload-荷载信息,实际数据;Signature-由头信息+荷载信息+密钥,组合之后进行加密得到。客户端与服务器通信时都会带上上述JWT,通过上述JWT可以进行用户身份的认证。
localStorage为HTML5中新加特性,主要作为本地存储,解决了Cookie存储空间不足的问题。发送请求时需要将localStorage中的信息加入请求头中。
步骤S104,查找jsessionid对应的session。
用户第一次访问网站时,服务器会根据请求头中是否带有jsessionid信息来判断是否为客户端生成一个Cookie存储随机生成的jsessionid,这个操作一般由服务器中的容器完成,并为此jsessionid关联一个session对象,以后每次请求都会自动带上这个jsessionid,服务器由此知道此客户端所使用的会话对象,达到跟踪客户端的目的。
因此,服务器在接收到上述非登录请求后,进一步基于上述jsessionid查找其对应的session。
步骤S106,判断session的内容是否为空。
在查找到上述jsessionid对应的session后,进一步判断其内容是否为空,也就是session中是否有内容,可以通过session中的内容进行第一次身份认证,如果没有内容,则第一次身份认证失败。
步骤S108,如果session的内容为空,则判断Token信息是否有效。
如果session中没有内容,第一次身份认证失败后,可以进一步根据上述Token信息进行校验,也就是判断其有效性。具体的校验方式依赖于JWT的原理,验证Token信息的时候用的是HS256算法,这种算法需要一个密钥(密码)。还可以使用RS256算法签发与验证JWT。这种方法可以分离开签发与验证,签发时需要用一个密钥,验证时使用公钥,也就是有公钥的地方只能做验证,但不能签发JWT。具体的校验过程不再详述,可参见相关技术。
步骤S110,如果Token信息有效,则响应非登录请求。
当服务器验证上述Token信息有效时,就对上述非登录请求进行响应,展示相应的网页内容或数据。
本发明实施例提供的双重身份认证方法,在接收客户端的非登录请求后,首先通过非登录请求中携带有jsessionid,查找其对应的session,查找到session后,进一步判断该session对应的内容是不是空的,如果是,那么进一步通过非登录请求中携带的Token信息进行校验,判断该Token信息是否有效,如果Token信息有效,则响应非登录请求。上述jsessionid存储于客户端的Cookie中,Token信息为用于身份认证的信息,存储于客户端的localStorage中,因此,本发明通过Cookie和localStorage的联合应用,可以实现两次身份认证,以避免由于误删Cookie而导致的会话丢失,无法对用户身份进行验证的问题。
图2示出了本发明实施例提供的另一种双重身份认证方法的流程图,本实施例中,非登录请求以需要权限的网页访问请求为例,该方法包括与上一实施例类似的步骤S202-S208,具体工作过程不再赘述:
步骤S202,接收客户端的非登录请求;非登录请求中携带有jsessionid及Token信息。
其中,jsessionid存储于客户端的Cookie中,Token信息为用于身份认证的信息,存储于客户端的localStorage中。
步骤S204,查找jsessionid对应的session。
步骤S206,判断session的内容是否为空。
如果session的内容为空,则执行步骤S208,判断Token信息是否有效。
如果Token信息有效,则执行步骤,响应非登录请求。
上述响应非登录请求的步骤具体包括:
步骤S210,解析Token信息,得到用户信息。
在上述校验Token信息有效后,进一步对其进行解析,从JWT的Payload中找到用户信息,这里的用户信息中可以包括用户名、用户权限信息等。
如果上述Token信息校验无效,则返回接收客户端的登录请求的步骤,表明双重身份认证均失败,需要用户重新输入用户名和密码进行登录。
步骤S212,基于用户信息中的用户权限信息,判断用户是否有权限访问此网页。
如果是,则执行步骤S214,获取相应数据进行响应。
如果否,则执行步骤S216,返回无权限页面。
服务器可以通过上述用户权限信息判断该用户是否有访问网页的权限,如果有,那么就展示与请求对应的网页内容,如果没有权限,那么就展示无权限页面。
此外,在接收客户端的非登录请求之前,还包括以下步骤:
步骤S218,接收客户端的首次登录请求;首次登录请求中携带有用户名及密码。
步骤S220,根据用户名及密码进行登录验证。
步骤S222,当登录验证成功后,分配jsessionid至客户端,以使客户端将jsessionid存储于Cookie中;并基于用户信息,生成Token信息,并将Token信息发送至客户端,以使客户端将Token信息存储于localStorage中。
在用户首次登录网页时,向服务器发送相应的登录请求。服务器基于登录请求中的用户名和密码进行验证,在验证通过后,会为客户端分配一个随机的jsessionid,客户端将jsessionid存储于Cookie中,在下一次请求时,请求的请求头中会自动带入Cookie中的jsessionid。同时,服务器还会颁发给客户端一个Token信息,可以看作一个令牌,后续请求时可以用此Token信息进行身份的认证。
进一步的,判断session的内容是否为空的步骤后,还包括:
如果session的内容不为空,则执行步骤S224,根据session的内容获取用户权限信息。
步骤S226,基于用户权限信息,判断用户是否有权访问此网页。
如果是,执行步骤S228,获取相应数据进行响应。
如果否,执行步骤S230,返回无权限页面。
这几个步骤与前述内容相似,在此不再赘述。
本发明实施例提供的双重身份认证方法,基于Cookie和localStorage客户端存储技术进行双重记录,可以达到防止清除Cookie导致的会话丢失问题,重点在于localStorage中Token信息的存储以及后端对于Token信息的校验,通过Cookie和localStorage中存储的Token信息达到双重保险的作用。通过双重记录增加用户操作便利性,防止用户在不小心清除Cookie后需要再次登录的问题。
本发明实施例还提供另一种双重身份认证方法的流程图,参见图3所示,该方法应用于客户端,比如,浏览器端,具体包括以下步骤:
步骤S302,将Token信息添加至请求头中;Token信息为用于身份认证的信息,存储于客户端的localStorage中。
步骤S304,基于请求头及Cookie生成非登录请求;Cookie中存储有jsessionid;非登录请求中携带有jsessionid及Token信息。
步骤S306,向服务器发送非登录请求,以使服务器查找jsessionid对应的session,并判断session的内容是否为空,如果session的内容为空,则判断Token信息是否有效;如果Token信息有效,则响应非登录请求。
在另一种实施方式中,参见图4所示,既包括与上述步骤类似的步骤S402-S406:
步骤S402,将Token信息添加至请求头中;Token信息为用于身份认证的信息,存储于客户端的localStorage中。
步骤S404,基于请求头及Cookie生成非登录请求;Cookie中存储有jsessionid;非登录请求中携带有jsessionid及Token信息。
步骤S406,向服务器发送非登录请求,以使服务器查找jsessionid对应的session,并判断session的内容是否为空,如果session的内容为空,则判断Token信息是否有效;如果Token信息有效,则响应非登录请求。
在将Token信息添加至请求头中的步骤之前,还可以包括以下步骤:
步骤S408,向服务器发送首次登录请求;首次登录请求中携带有用户名及密码。
步骤S410,在服务器根据用户名及密码进行登录验证并验证成功后,接收服务器分配的jsessionid,并将jsessionid存储于Cookie中,并接收服务器基于用户信息,生成的Token信息,并将Token信息存储于localStorage中。
具体的工作过程可参见上述服务器侧的方法实施例,在此不再赘述。
本发明实施例提供的双重身份认证方法,在原有会话跟踪技术实现基础上,新增localStorage做进一步会话信息存储,服务器接收请求后先使用传统方法解析出jsessionid,如果可以查找到对应的session即可做身份认证。如果找不到jsessionid,则需要查询请求头中的Token信息,先校验Token信息的有效性,然后解析Token信息中payload中的用户信息,再基于该用户信息进行身份认证。通过双重认证增加用户操作便利性,防止用户在不小心清除Cookie后需要再次登录的问题。
基于上述服务器侧的方法实施例,图5示出了本发明实施例提供一种双重身份认证装置的结构示意图,该装置应用于服务器,装置包括:
请求接收模块502,用于接收客户端的非登录请求;非登录请求中携带有jsessionid及Token信息;其中,jsessionid存储于客户端的Cookie中,Token信息为用于身份认证的信息,存储于客户端的localStorage中;
会话查找模块504,用于查找jsessionid对应的session;
会话判断模块506,用于判断session的内容是否为空;
令牌信息判断模块508,用于在session的内容为空时,判断token信息是否有效;
响应模块510,用于在token信息有效时,响应非登录请求。
基于上述客户端侧的方法实施例,图6示出了本发明实施例提供一种双重身份认证装置的结构示意图,该装置应用于服务器,装置包括:
信息添加模块602,用于将Token信息添加至请求头中;Token信息为用于身份认证的信息,存储于客户端的localStorage中;
请求生成模块604,用于基于请求头及Cookie生成非登录请求;Cookie中存储有jsessionid;非登录请求中携带有jsessionid及Token信息;
请求发送模块606,用于向服务器发送非登录请求,以使服务器查找jsessionid对应的session,并判断session的内容是否为空,如果session的内容为空,则判断Token信息是否有效;如果Token信息有效,则响应非登录请求。
本发明实施例还提供一种双重身份认证系统,参见图7所示,该系统包括:客户端702和服务器704;客户端702与服务器704通信连接;客户端的存储区域包括Cookie7021和localStorage7022。
作为一种优选实施方式,本实施例中的客户端为浏览器,参见图8所示,系统主要包含两部分,浏览器端和服务器端,浏览器端用于请求的发送,服务端接收请求并做出响应;该系统主要是在服务器端响应阶段做了双重身份跟踪记录,之后再发送的所有请求头(header)中携带客户端保存的凭证信息,目前涉及到的身份跟踪技术主要是Cookie和localStorage,Cookie方式的跟踪技术仍选择传统方法通过jsessionid达到记录客户端信息的目的,对于新增的localStorage技术则通过额外存储JWT型的Token信息达到跟踪认证客户端的作用;本系统通过多重保障用户身份信息,增强用户操作的便利性,防止频繁登录。
为便于理解,图9示出根据本发明的一些实施例的可以实现本发明思想的电子设备900的示例性硬件和软件组件的示意图。例如,处理器920可以用于电子设备900上,并且用于执行本发明实施例中的功能。
电子设备900可以是通用计算机或特殊用途的计算机,两者都可以用于实现本发明实施例的双重身份认证方法。本发明实施例尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本发明实施例描述的功能,以均衡处理负载。
例如,电子设备900可以包括连接到网络的网络端口910、用于执行程序指令的一个或多个处理器920、通信总线930和不同形式的存储介质940,例如,磁盘、ROM或RAM,或其任意组合。示例性地,计算机平台还可以包括存储在ROM、RAM或其他类型的非暂时性存储介质或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备900还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(Input/Output,I/O)接口950。
为了便于说明,在电子设备900中仅描述了一个处理器。然而,应当注意,本发明实施例中的电子设备900还可以包括多个处理器,因此本发明实施例中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备900的处理器执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一处理器和第二处理器共同执行步骤A和B。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述双重身份认证方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考方法实施例中的对应过程,本发明实施例中不再赘述。在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种双重身份认证方法,其特征在于,所述方法应用于服务器,所述方法包括:
接收客户端的非登录请求;所述非登录请求中携带有jsessionid及Token信息;其中,所述jsessionid存储于客户端的Cookie中,所述Token信息为用于身份认证的信息,存储于客户端的localStorage中;
查找所述jsessionid对应的session;
判断所述session的内容是否为空;
如果所述session的内容为空,则判断所述Token信息是否有效;
如果所述Token信息有效,则响应所述非登录请求。
2.根据权利要求1所述的方法,其特征在于,在接收客户端的非登录请求的步骤之前,还包括:
接收客户端的首次登录请求;所述首次登录请求中携带有用户名及密码;
根据所述用户名及密码进行登录验证;
当所述登录验证成功后,分配jsessionid至所述客户端,以使所述客户端将所述jsessionid存储于Cookie中;并基于用户信息,生成Token信息,并将所述Token信息发送至所述客户端,以使所述客户端将所述Token信息存储于localStorage中。
3.根据权利要求1所述的方法,其特征在于,当所述非登录请求为需要权限的网页访问请求时,判断所述session的内容是否为空的步骤后,还包括:
如果所述session的内容不为空,则根据所述session的内容获取用户权限信息;
基于所述用户权限信息,判断用户是否有权访问此网页;
如果是,获取相应数据进行响应;
如果否,返回无权限页面。
4.根据权利要求1所述的方法,其特征在于,当所述非登录请求为需要权限的网页访问请求时,响应所述非登录请求的步骤,包括:
解析所述Token信息,得到用户信息;
基于所述用户信息中的用户权限信息,判断用户是否有权限访问此网页;
如果是,获取相应数据进行响应;
如果否,返回无权限页面。
5.一种双重身份认证方法,其特征在于,所述方法应用于客户端,所述方法包括:
将Token信息添加至请求头中;所述Token信息为用于身份认证的信息,存储于客户端的localStorage中;
基于所述请求头及Cookie生成非登录请求;所述Cookie中存储有jsessionid;非登录请求中携带有所述jsessionid及所述Token信息;
向服务器发送所述非登录请求,以使所述服务器查找所述jsessionid对应的session,并判断所述session的内容是否为空,如果所述session的内容为空,则判断所述Token信息是否有效;如果所述Token信息有效,则响应所述非登录请求。
6.根据权利要求5所述的方法,其特征在于,在将Token信息添加至请求头中的步骤之前,还包括:
向服务器发送首次登录请求;所述首次登录请求中携带有用户名及密码;
在所述服务器根据所述用户名及密码进行登录验证并验证成功后,接收所述服务器分配的jsessionid,并将所述jsessionid存储于Cookie中,并接收所述服务器基于用户信息,生成的Token信息,并将所述Token信息存储于localStorage中。
7.一种双重身份认证装置,其特征在于,所述装置应用于服务器,所述装置包括:
请求接收模块,用于接收客户端的非登录请求;所述非登录请求中携带有jsessionid及Token信息;其中,所述jsessionid存储于客户端的Cookie中,所述Token信息为用于身份认证的信息,存储于客户端的localStorage中;
会话查找模块,用于查找所述jsessionid对应的session;
会话判断模块,用于判断所述session的内容是否为空;
令牌信息判断模块,用于在所述session的内容为空时,判断所述token信息是否有效;
响应模块,用于在所述token信息有效时,响应所述非登录请求。
8.一种双重身份认证装置,其特征在于,所述装置应用于客户端,所述装置包括:
信息添加模块,用于将Token信息添加至请求头中;所述Token信息为用于身份认证的信息,存储于客户端的localStorage中;
请求生成模块,用于基于所述请求头及Cookie生成非登录请求;所述Cookie中存储有jsessionid;非登录请求中携带有所述jsessionid及所述Token信息;
请求发送模块,用于向服务器发送所述非登录请求,以使所述服务器查找所述jsessionid对应的session,并判断所述session的内容是否为空,如果所述session的内容为空,则判断所述Token信息是否有效;如果所述Token信息有效,则响应所述非登录请求。
9.一种双重身份认证系统,其特征在于,包括:客户端和服务器;
所述客户端与所述服务器通信连接;
所述客户端的存储区域包括Cookie和localStorage;所述客户端上安装有如权利要求8所述的双重身份认证装置;所述服务器上安装有如权利要求7所述的双重身份认证装置。
10.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如权利要求1至4或者5至6任一所述的双重身份认证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910544398.8A CN110232265B (zh) | 2019-06-21 | 2019-06-21 | 双重身份认证方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910544398.8A CN110232265B (zh) | 2019-06-21 | 2019-06-21 | 双重身份认证方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110232265A CN110232265A (zh) | 2019-09-13 |
CN110232265B true CN110232265B (zh) | 2021-07-13 |
Family
ID=67857018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910544398.8A Active CN110232265B (zh) | 2019-06-21 | 2019-06-21 | 双重身份认证方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110232265B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110995672B (zh) * | 2019-11-20 | 2023-09-01 | 天津大学 | 一种用于软件开发的网络安全认证方法 |
CN110933078B (zh) * | 2019-11-29 | 2022-04-05 | 交通银行股份有限公司 | 一种h5未登录用户会话跟踪方法 |
CN111343191B (zh) * | 2020-03-03 | 2022-08-16 | 浙江大华技术股份有限公司 | 会话校验方法及装置、存储介质、电子装置 |
CN111917767B (zh) * | 2020-07-29 | 2022-06-07 | 苏州浪潮智能科技有限公司 | 一种客户端的请求认证方法、装置、设备及存储介质 |
CN112035822A (zh) * | 2020-08-25 | 2020-12-04 | 北京锐安科技有限公司 | 多应用单点登录方法、装置、设备及存储介质 |
CN115102724B (zh) * | 2022-06-06 | 2023-12-08 | 珠海格力电器股份有限公司 | 一种双Token跨端跳转系统的登录方法、系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104519018B (zh) * | 2013-09-29 | 2018-09-18 | 阿里巴巴集团控股有限公司 | 一种防止针对服务器的恶意请求的方法、装置和系统 |
CN103997529B (zh) * | 2014-05-24 | 2017-07-14 | 上海新时达电气股份有限公司 | 利用具有双重身份的网关进行通信的方法、系统及网关 |
US10084794B2 (en) * | 2015-06-02 | 2018-09-25 | ALTR Solutions, Inc. | Centralized access management of web-based or native applications |
CN108881317B (zh) * | 2018-09-04 | 2021-01-12 | 厦门安胜网络科技有限公司 | 一种多系统统一认证方法、系统及计算机存储介质 |
CN109587251A (zh) * | 2018-12-07 | 2019-04-05 | 用友网络科技股份有限公司 | 会话访问方法以及服务器 |
-
2019
- 2019-06-21 CN CN201910544398.8A patent/CN110232265B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110232265A (zh) | 2019-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110232265B (zh) | 双重身份认证方法、装置及系统 | |
CN103023918B (zh) | 为多个网络服务统一提供登录的方法、系统和装置 | |
US8250635B2 (en) | Enabling authentication of openID user when requested identity provider is unavailable | |
CN107196950B (zh) | 校验方法、装置及服务端 | |
CN106375270B (zh) | 令牌生成并认证的方法及认证服务器 | |
US8719915B2 (en) | Method for improving network application security and the system thereof | |
CN111786969B (zh) | 单点登录方法、装置及系统 | |
CN105162775A (zh) | 虚拟机登陆方法及装置 | |
CN103023919A (zh) | 基于二维码的登录控制方法和系统 | |
CN103036902A (zh) | 基于二维码的登录控制方法和系统 | |
US11770385B2 (en) | Systems and methods for malicious client detection through property analysis | |
CN109861968A (zh) | 资源访问控制方法、装置、计算机设备及存储介质 | |
CN110888838A (zh) | 基于对象存储的请求处理方法、装置、设备及存储介质 | |
CN112887284B (zh) | 一种访问认证方法、装置、电子设备和可读介质 | |
CN111818088A (zh) | 授权模式管理方法、装置、计算机设备及可读存储介质 | |
EP2320622B1 (en) | Report form normalization processing method, apparatus and system | |
CN105162774A (zh) | 虚拟机登陆方法、用于终端的虚拟机登陆方法及装置 | |
CN113055185A (zh) | 一种基于token的认证方法及装置、存储介质、电子装置 | |
CN111241523B (zh) | 认证处理方法、装置、设备和存储介质 | |
CN107645474B (zh) | 登录开放平台的方法及登录开放平台的装置 | |
CN109936575B (zh) | 页面访问方法、装置、存储介质及处理器 | |
CN102065063A (zh) | Web认证装置、系统和方法 | |
CN113761509B (zh) | iframe验证登录方法及装置 | |
CN112448956B (zh) | 一种短信验证码的权限处理方法、装置和计算机设备 | |
US11218466B2 (en) | Endpoint security |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |