一种验证用户登录状态的方法、装置及企业系统的制作方法

文档序号:7766923阅读:266来源:国知局
专利名称:一种验证用户登录状态的方法、装置及企业系统的制作方法
技术领域
本发明属于计算机软件领域,尤其涉及一种验证用户登录状态的方法、装置及企业系统。
背景技术
现今,主要是通过保存登录状态来解决每次登录同样的系统时都需要重复输入用户名和密码的问题。可通过保存用户登录状态的方法来解决登录同样的系统时重复输入用户名和密码的问题。其具体的方法主要有以下两种1、通过%8^011来保存登录状态。即在用户登录后,将当前的登录信息放入到 Session中,在下一次登录进行登录权限验证时,根据kssion中的值来判断用户是否已登录。但是,这种方法需要在服务器端缓存所有用户的状态,访问量较大的时候,Session会占用较多服务器资源,且不便于扩充性能。而当服务器崩溃的时候,所有的用户都会被迫下线。2、通过Cookie和数据库来保存登录状态。即在用户登录后,通过cookie在客户端记录一个登录串(如会员Id等),同时在数据库保存当前用户的信息及登录串。在进行登录权限验证时,根据登录串去数据库中查找对应的记录。但是在访问量较大的时候,容易造成数据库的连接数超高,增大数据库压力。

发明内容
本发明实施例的目的在于提供一种验证用户登录状态的方法、装置及企业系统, 旨在解决现有保存登录状态的方法占用服务器资源多且数据库压力大的问题。本发明实施例是这样实现的,一种验证用户登录状态的方法,所述方法包括下述步骤服务器接收客户端传入的用户信息,并将第一密串存储于客户端,所述第一密串包括由服务器加密处理后的用户信息;再次登陆时,客户端发送所述用户信息及所述第一密串至所述服务器,所述服务器对所述用户信息进行加密处理生成第二密串;通过比对所述第二密串与所述第一密串验证所述用户信息对应用户的登录状态。本发明实施例的另一目的在于提供一种验证用户登录状态的装置,所述装置包括第一密串生成模块,接收客户端传入的用户信息,并将第一密串存储于客户端,所述第一密串包括由服务器加密处理后的用户信息;第二密串生成模块,再次登陆时,接收客户端发送的所述用户信息及所述第一密串,对所述用户信息进行加密处理生成第二密串;登录状态保存模块,通过比对所述第二密串与所述第一密串验证所述用户信息对应用户的登录状态。
本发明实施例另一目的在于提供一种包含所述验证用户登录状态的装置的企业系统。在本发明实施例中,用户第一次登陆系统或网站时,采用预设的算法对用户信息进行加密,生成第一密串。当用户再次登录相同的系统或网站时,采用预设的算法根据用户信息生成第二密串后,通过比对所述第二密串与所述第一密串验证所述用户信息对应用户的登录状态。所述方法的用户信息保存在客户端,不占用服务器资源,极大地减小了服务器的负担。即使在访问量大的时候,也能保证性能,很好的提升了用户体验。


图1是本发明第一实施例提供的验证用户登录状态的方法的流程图;图2是本发明第二实施例提供的验证用户登录状态的方法的流程图;图3是本发明实施例提供的验证用户登录状态的装置示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例在用户在第一次登录成功后,下一次再登录相同的系统或网站时采用比较新生成的第二密串和预先存储在客户端的第一密串是否相等的方法来验证用户登录状态。本发明提供了一种验证用户登录状态的方法、装置及企业系统所述方法包括服务器接收客户端传入的用户信息,并将第一密串存储于客户端,所述第一密串包括由服务器加密处理后的用户信息;再次登陆时,客户端发送所述用户信息及所述第一密串至所述服务器,所述服务器对所述用户信息进行加密处理生成第二密串;通过比对所述第二密串与所述第一密串验证所述用户信息对应用户的登录状态。所述装置包括第一密串生成模块,接收客户端传入的用户信息,并将第一密串存储于客户端,所述第一密串包括由服务器加密处理后的用户信息;第二密串生成模块,再次登陆时,接收客户端发送的所述用户信息及所述第一密串,对所述用户信息进行加密处理生成第二密串;登录状态保存模块,通过比对所述第二密串与所述第一密串验证所述用户信息对应用户的登录状态。所述企业系统包含所述验证用户登录状态的装置。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。实施例一图1示出了本发明第一实施例提供的一种验证用户登录状态的方法的流程,详述如下
在步骤SlOl中,服务器验证接收到的用户输入的用户验证信息。在本发明实施例中,在用户第一次登陆时,服务器接收输入的用户验证信息并验证,所述用户验证信息包括但不限于用户名、密码等。在步骤S102中,当用户验证信息验证成功后,服务器采用预设的算法对用户信息进行加密处理,生成第一密串,并将用户信息与第一密串存储到客户端中。在本发明实施例中,当用户验证信息验证成功后,以Cookie的方式,服务器采用预设的算法对用户信息进行加密处理,生成第一密串。所述用户信息为用户唯一标识、用户 IP地址中的一种或者多种组合,用户发送用户验证信息的时候一并发送用户信息到服务器。因此,第一密串可以是对用户唯一标识进行加密处理后生成、对用户IP地址进行加密处理后生成或者对用户唯一标识和用户IP地址共同进行加密处理后生成。以下以使用哈希算法生成第一密串为例来详细说明,但并不限于此算法,也可以是其他任一算法。例如ClientSig = (User). hashCode ();其中,ClientSig为密串;User为用户信息;hashCode ()表示使用哈希算法。具体可为以下三种;1、采用预设的算法对用户唯一标识进行加密处理后生成第一密串。算法如下ClientSig = (UserId). hashCode ();其中,ClientSig为密串;Userid为用户唯一标识(此处以用户ID作为用户唯一标识);hashCode ()表示使用哈希算法。2、采用预设的算法对用户IP地址进行加密处理后生成第一密串。算法如下ClientSig = (Ip) · hashCode ();其中,ClientSig为密串;Ip为用户IP地址;hashCode ()表示使用哈希算法。3、采用预设的算法对用户唯一标识和用户IP地址共同进行加密处理后生成第一密串。算法如下ClientSig = (Userld+Ip). hashCode ();其中,ClientSig为密串;Userid为用户唯一标识(此处以用户ID作为用户唯一标识);Ip为用户IP地址;hashCode ()表示使用哈希算法。在本发明实施例中,生成第一密串后,将用户信息及第一密串存储到客户端中。在步骤S103中,用户再次登陆时,客户端发送所述用户信息及所述第一密串至服务器。在本发明实施例中,用户再次登陆相同的系统或网站时,服务器首先接收从客户端传入的用户信息及第一密串。在步骤S104中,服务器采用预设的算法对用户信息进行加密处理,生成第二密
串ο在本发明实施例中,第二密串的生成方法与步骤S102中生成第一密串的方法相同,在此就不再赘述了。在步骤S105中,服务器比较第二密串与第一密串是否相等,若是则执行步骤 S106,否则执行步骤S107。在本发明实施例中,服务器通过比较第二密串与第一密串是否相等来验证用户是否是上一次登陆时输入正确用户名和密码的用户,以此来判断用户登录状态是否验证成功,即通过比对第二密串与第一密串验证用户信息对应用户的登录状态。在步骤S106中,保持用户登陆状态。在本发明实施例中,当第二密串与第一密串相等时,则用户具有登录权限,保持用户登录状态。在步骤S107中,用户登陆状态验证失败。在本发明实施例中,当第二密串与第一密串不相等时,则用户不具有登录权限,用户登陆状态验证失败,请用户重新输入验证信息登录。在本发明实施例中,用户第一次登陆系统或网站时,采用预设的算法对用户信息进行加密,生成第一密串。当用户再次登录相同的系统或网站时,服务器采用预设的算法对用户信息进行加密处理,生成第二密串后,通过比对所述第二密串与所述第一密串验证所述用户信息对应用户的登录状态。由于用户信息保存在客户端,不占用服务器资源,极大地减小了服务器的负担。即使在访问量大的时候,也能保证性能,很好的提升了用户体验。实施例二 图2示出了本发明第二实施例提供的一种验证用户登录状态的方法的流程,详述如下在步骤S201中,服务器验证接收到的用户输入的用户验证信息。在步骤S202中,当用户验证信息验证成功后,服务器采用预设的算法对用户信息和服务器密串进行加密处理,生成第一密串,并将用户信息与第一密串存储到客户端中。在本发明实施例中,当用户验证信息验证成功后,以Cookie与加密的方式,服务器采用预设的算法对用户信息和服务器密串进行加密处理,生成第一密串。服务器密串包括服务器随机生成的密串或预先存储于服务器的密串,所有用户共同使用同一个服务器密串。由于所述用户信息为用户唯一标识、用户IP地址中的一种或者多种组合。因此,加密方式共有3种。下面将详细说明。以下以使用哈希算法为例来详细说明,但并不限于此算法,也可以是其他任一算法。例如ClientSig = (User+ServierSig). hashCode();其中,ClientSig为密串;User为用户信息;ServierSig为服务器密串; hashCode ()表示使用哈希算法。具体为以下三种1、采用预设的算法对用户唯一标识和服务器密串进行加密处理,生成第一密串。算法如下ClientSig = (Userld+ServierSig). hashCode ();其中,ClientSig为密串;Userid为用户唯一标识(此处以用户ID作为用户唯一标识);ServierSig为服务器密串;hashCode ()表示使用哈希算法。2、采用预设的算法对用户IP地址和服务器密串进行加密处理生成第一密串。算法如下ClientSig = (Ip+ServierSig). hashCode ();其中,ClientSig为密串;Ip为用户IP地址;ServierSig为服务器密串; hashCode ()表示使用哈希算法。3、采用预设的算法对用户唯一标识、用户IP地址和服务器密串进行加密处理生成第一密串。算法如下ClientSig = (Userld+Ip+ServierSig). hashCode();其中,ClientSig为密串;Userid为用户唯一标识(此处以用户ID作为用户唯一标识);Ip为用户IP地址;ServierSig为服务器密串;hashCode ()表示使用哈希算法。在本发明实施例中,生成第一密串后,将用户信息及第一密串存储到客户端中。在步骤S203中,用户再次登陆时,客户端发送所述用户信息及所述第一密串至服务器;在步骤S204中,服务器采用预设的算法对用户信息和服务器密串进行加密处理, 生成第二密串;在步骤S205中,服务器比较第二密串与第一密串是否相等,若是则执行步骤 S206,否则执行步骤S207 ;在步骤S206中,保持用户登陆状态;在步骤S207中,用户登陆状态验证失败。在本发明实施例中,根据用户信息及服务器密串生成第一密串及第二密串的方法的复杂度得到了加强,能够防止被破解。且服务器仅存储了一个服务器密串,不会占用服务器资源。实施例三图3示出了本发明实施例提供的验证用户登录状态的装置的结构,此装置内置于服务器,为了便于说明,仅示出了与本发明实施例相关的部份。该装置可以是内置于企业系统中的软件单元、硬件单元或者软硬件相结合的单元,或者作为独立的挂件集成到企业系统或企业系统的应用系统中。其中用户名密码验证模块31,用于验证接收到的用户输入的用户验证信息。第一密串生成模块32,当用户验证信息验证成功后,采用预设的算法对用户信息进行加密处理生成第一密串,并将用户信息与第一密串存储到客户端中。此模块还包括一个小单元第一密串生成单元321,当用户名和密码验证成功后,采用预设的算法对用户信息和服务器密串进行加密处理,并将用户信息与第一密串存储到客户端中。在本发明实施例中,所述用户信息为用户唯一标识、用户IP地址中的一种或者多种组合。第二密串生成模块33,用户再次登陆时,接收客户端发送的所述用户信息及所述第一密串,对所述用户信息进行加密处理生成第二密串,第二密串与第一密串的生成方法
7相同。此模块还包括一个小单元第二密串生成单元331,用户再次登陆时,接收客户端发送的所述用户信息及所述第一密串,对所述用户信息进行加密处理生成第二密串,第二密串与第一密串的生成方法相同。登录状态判定模块34,当第二密串与第一密串相等时,保持用户登录状态;当第二密串与第一密串不相等时,用户登录状态验证失败。在本发明实施例中,服务器通过比较第二密串与预先存储在客户端的第一密串是否相等来验证用户登录状态是否能成功验证。在本发明实施例中,用户第一次登陆系统或网站时,采用预设的算法对用户信息进行加密,生成第一密串。当用户再次登录相同的系统或网站时,服务器采用预设的算法对用户信息和服务器密串进行加密处理,生成第二密串后,通过比对所述第二密串与所述第一密串验证所述用户信息对应用户的登录状态。由于用户信息保存在客户端,服务器仅保存一个服务器密串,不占用服务器资源,极大地减小了服务器的负担。即使在访问量大的时候,也能保证性能,很好的提升了用户体验。且根据用户信息及服务器密串生成密串的方法的有较强的复杂度,能够防止被破解。本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种验证用户登录状态的方法,其特征在于,所述方法包括下述步骤服务器接收客户端发送的用户信息,并将第一密串存储于客户端,所述第一密串包括由所述服务器加密处理后的用户信息;再次登陆时,客户端发送所述用户信息及所述第一密串至所述服务器,所述服务器对所述用户信息进行加密处理生成第二密串;通过比对所述第二密串与所述第一密串验证所述用户信息对应用户的登录状态。
2.如权利要求1所述的方法,其特征在于,所述用户信息为用户唯一标识、用户IP地址中的一种或者多种组合。
3.如权利要求1所述的方法,其特征在于,在所述服务器接收客户端传入的用户信息及第一密串的步骤之前,所述方法还包括服务器验证所述客户端传入的用户信息。
4.如权利要求1所述的方法,其特征在于,所述第一密串及第二密串还包括由所述服务器加密处理后的服务器密串。
5.如权利要求4所述的方法,其特征在于,所述服务器密串由服务器随机生成或预先存储于服务器。
6.如权利要求1所述的方法,其特征在于,所述服务器采用不可逆算法进行加密处理。
7.如权利要求6所述的方法,其特征在于,所述不可逆算法为哈希算法。
8.—种在验证用户登录状态的装置,其特征在于,所述装置内置于服务器,所述装置包括第一密串生成模块,接收客户端传入的用户信息,并将第一密串存储于客户端,所述第一密串包括由服务器加密处理后的用户信息;第二密串生成模块,再次登陆时,接收客户端发送的所述用户信息及所述第一密串,对所述用户信息进行加密处理生成第二密串;登录状态保存模块,通过比对所述第二密串与所述第一密串验证所述用户信息对应用户的登录状态。
9.如权利要求8所述的装置,其特征在于,所述装置还包括 用户验证模块,用于验证接收到的用户输入的用户验证信息。
10.一种企业系统,其特征在于,所述系统包括权利要求8或9所述的验证用户登录状态的装置。
全文摘要
本发明适用于计算机软件领域,提供了一种验证用户登录状态的方法、装置及企业系统,该方法包括下述步骤服务器接收客户端传入的用户信息,并将第一密串存储于客户端,所述第一密串包括由服务器加密处理后的用户信息;再次登陆时,客户端发送所述用户信息及所述第一密串至所述服务器,所述服务器对所述用户信息进行加密处理生成第二密串;通过比对所述第二密串与所述第一密串验证所述用户信息对应用户的登录状态。本发明通过比对将所述用户信息进行加密处理后生成的第二密串与预先存储在客户端的第一密串验证所述用户信息对应用户的登录状态。不占用服务器资源,极大地减小了服务器的负担。即使在访问量大的时候,也能保证性能。
文档编号H04L29/06GK102480474SQ201010565799
公开日2012年5月30日 申请日期2010年11月30日 优先权日2010年11月30日
发明者刘楠, 欧海涛, 谭奇军 申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1