一种多应用系统统一登录方法和装置与流程

文档序号:15624997发布日期:2018-10-09 22:45阅读:321来源:国知局

本发明涉及系统登录技术领域,具体涉及一种多应用系统统一登录方法及装置。



背景技术:

伴随着企业业务的不断扩展,为了促进信息化建设,引进了多个业务信息的应用系统。各个应用系统都有自己独立的登录客户端及认证体系,随着应用系统的不断增加,一方面客户及企业人员在访问应用系统时,必须分别记住多个应用系统的登录地址,而这些登录地址复杂且不易记住,另一方面,由于多个登录客户端的存在,容易导致其内部密匙不安全,以及造成内部密匙重复,密匙识别混乱,影响应用系统的稳定性。



技术实现要素:

为了克服现有技术的不足,本发明提供了一种多应用系统统一登录的方法及装置,能够在同一客户端内登录不同的应用系统,不同类别的用户的身份验证集中统一到同一服务器内,从而可以避免用户牢记多个应用系统的登录地址,以及能够确保服务器内部各种登录密匙的不重复性,以及大大提高了登录密匙的安全性。

本发明的技术方案如下:

一种多应用系统统一登录方法,包括:

服务器通过mysql建立用户信息视图;

服务器接收由客户端发送的用户信息,并通过用户信息视图对用户信息进行验证,在验证成功后生成登录密匙,其中用户信息包括用户名和用户密码;

将登陆密匙、登陆密匙与用户信息的关联信息存储在本地redis内存数据库;

将该登录密匙携带在应用系统访问地址中,发送所述应用系统访问地址;

客户端接收应用系统访问地址并访问该应用系统;

服务器判断访问来源是否安全以及登录密匙是否有效,在验证成功后,应用系统基于该用户信息建立登录会话凭证;

客户端通过会话凭证登录应用系统。

其中,将登陆密匙存储在本地redis内存数据库,这样有利于加快登陆密匙的读取与验证,将登陆密匙与用户信息的关联信息存储在本地redis内存数据库,用于与应用系统建立登录会话。

进一步地,服务器基于mysql建立用户信息视图,包括:

根据用户名、用户密码以及用户系统url地址建立索引文件;

基于该索引文件,通过mysql建立用户信息视图;

在用户信息视图进行查找用户名,若用户名存在的话,验证用户名以及用户名所对应的用户密码是否准确,验证成功后,用户信息视图创建完成。

进一步地,接收由客户端发送的用户信息,并通过用户信息视图对用户信息进行验证,在用户信息验证成功的情况下,生成登录密匙,包括:

接收由客户端发送的用户信息;

在用户信息视图中查找是否存在用户信息;

在存在用户信息的情况下,对用户登录时的时间戳、用户名、密码三者进行组合,并通过摘要算法计算生成登录密匙。

进一步地,客户端接收应用系统访问地址之后,访问该应用系统之前,还包括:

客户端通过缓存记录携带登录密匙的应用系统访问地址。

进一步地,服务器判断访问来源是否安全以及登录密匙是否有效,在验证成功后,应用系统基于该用户信息建立会话凭证,包括:

服务器获取客户端登录ip地址、用户身份认证ip地址以及用户身份认证次数,若客户端登录ip地址与用户身份认证ip地址一致且用户身份认证次数小于或等于预设次数,则判断该访问来源安全;

服务器判断是否能从redis内存数据库获取该登陆密匙,在获取到登录密匙的情况下,则子应用系统访问地址验证成功;

使应用系统基于该用户信息建立登录会话凭证。

本发明还提供了一种多应用系统统一登录的装置,该装置包括有服务器和客户端,其特征在于,服务器包括有:

视图构建装置,用于通过mysql建立用户信息视图;

密匙生成装置,用于接收由客户端发送的用户信息,并通过用户信息视图对用户信息进行验证,在用户信息验证成功的情况下,生成登录密匙;

存储装置,用于将登陆密匙、登陆密匙与用户信息的关联信息通过redis内存数据库存储至本地;

收发装置,用于将登录密匙携带在应用系统访问地址中,发送所述应用系统访问地址;

判断装置,用于判断访问来源是否安全以及验证子应用系统访问地址是否有效;

登录会话session建立装置,用于在访问来源安全且子应用系统访问地址有效的情况下,基于用户信息使应用系统建立登录会话session。

客户端包括有:

登陆装置,用于在接收应用系统访问地址之后访问应用系统,以及通过会话凭证登录应用系统。

进一步地,视图构建装置包括有:

第一索引文件创建单元,用于根据用户名、用户密码以及用户系统url地址生成索引文件;

视图创建单元,用于根据该索引文件,通过mysql建立用户信息视图;

查找与验证单元,用于在用户信息视图进行查找用户名,若用户名存在的话,验证用户名以及用户名所对应的用户密码是否准确;

进一步地,密匙生成装置包括:

接收单元,用于接收由客户端发送的用户信息;

查找单元,用于在用户信息视图中查找是否存在用户信息;

密匙生成单元,用于在存在用户信息的情况下,对用户登录时的时间戳、用户名、密码三者进行组合,并通过摘要算法计算生成登录密匙;

进一步地,所述客户端还包括:

记录模块,用于通过缓存记录携带登录密匙的应用系统访问地址。

进一步地,所述判断装置包括:

获取单元,用于获取客户端登录ip地址、用户身份认证ip地址以及用户身份认证次数;

第一判断子单元,用于判断客户端登录ip地址与用户身份认证ip地址是否一致以及用户身份认证次数是否小于或等于预设次数,若客户端登录ip地址与用户身份认证ip地址一致且用户身份认证次数是否小于或等于预设次数,则该访问来源安全;

第二判断子单元,用于判断是否能从redis内存数据库获取该登陆密匙,若能从redis内存数据库获取该登陆密匙,则子应用系统访问地址验证成功;

控制单元,用于控制应用系统基于该用户信息建立登录会话凭证。

本发明中,服务器对用户信息通过用户信息视图进行验证并在验证成功后生成登陆密匙,再将该登录密匙返回给客户端;客户端通过该登录密匙访问时,服务器再一次对登录密匙进行验证,验证成功后客户端正常登录应用系统,这样能够在同一客户端内登录不同的应用系统,不同类别的用户的身份验证集中统一到同一服务器内;其中,应用系统为多个,且登录端口都统一集成在客户端,对用户信息进行认证时的认证服务器和通过用户信息登录应用系统时的登录服务器都集中于同一个,这样可以避免用户牢记多个应用系统的登录地址,以及能够确保服务器内部各种登录密匙的不重复性,以及大大提高了登录密匙的安全性,解决了容易导致其内部密匙不安全,以及造成内部密匙重复,密匙识别混乱,影响应用系统的稳定性的技术问题。

本发明产生的有益效果:

1.多个应用系统的登录入口集中在同一客户端,解决了用户在登录不同应用系统时容易忘记应用系统登录地址的问题;

2.将登陆密匙、登陆密匙与用户信息的关联信息存储在本地redis内存数据库,能够加速登录密匙的读取和验证的同时,也方便为后续客户端与应用系统之间建立登录会话,提高了应用系统登录运行的稳定性;

3.通过mysql建立所有用户的视图,能够有效对mysql验证用户数据进行优化,提高了验证用户数据的便捷性与效率;

4.在生成登录密匙的过程中,通过摘要算法,对时间戳和用户名和密码的组合进行计算生成的密匙安全、高效、不易破解与被窃取。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例中所述的多应用系统统一登录方法的流程图;

图2是本发明实施例中所述的建立用户信息视图的方法的流程图;

图3是本发明实施例中所述的服务器生成登录密匙的具体方法的流程图;

图4是本发明实施例中所述的服务器建立登录会话凭证的其具体方法的流程图;

图5是本发明实施例中所述的多应用系统统一登录装置的示意图。

具体实施方式

以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。

如附图1所示,一种多应用系统统一登录方法,该方法包括:

步骤s101:服务器通过mysql建立用户信息视图;如附图2所示,其具体方法包括以下步骤:

步骤s1011:根据用户名、用户密码以及用户系统url地址建立索引文件;

步骤s1012:基于该索引文件,通过mysql建立用户信息视图;

步骤s1013:在用户信息视图进行查找用户名,若用户名存在的话,验证用户名以及用户名所对应的用户密码是否准确,验证成功后,用户信息视图创建完成。

通过mysql建立用户信息视图的过程中,不同用户类型的用户数据存入不同的数据库中,例如车辆租车客户存入数据库一、车辆生产厂商客户存入数据库二、车辆销售客户存入数据库三中、管理系统用户存入数据库四中。

mysql视图的本质是一种虚拟表格,其内容通过查询来获取,其不在数据库中以存储的数据值集形式存在;视图包含一系列带有名称的列和行数据,行和列的数据由定义视图的查询所引用的表,并且在引用视图时动态生成;本发明所述的多应用系统统一登录方法,通过建立并使用mysql视图作为多应用系统统一登录的用户数据集合,能够有效在验证用户数据时进行优化,提高了验证用户数据的便捷性与效率。

步骤s102:服务器接收由客户端发送的用户信息,并通过用户信息视图对用户信息进行验证,在验证成功后生成登录密匙,其中用户信息包括用户名和用户密码;如附图3所示,服务器生成登录密匙的具体方法包括以下步骤:

步骤s1021:接收由客户端发送的用户信息;

步骤s1022:在用户信息视图中查找是否存在用户信息;

步骤s1023:在存在用户信息的情况下,对用户登录时的时间戳、用户名、密码三者进行组合,并通过摘要算法计算生成登录密匙。

上述的密匙是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数;本发明所述的多应用系统统一登录方法中,使用md5消息摘要算法,将登录的用户名与当前时刻的时间戳拼接为字符串并进行加密。例如:密匙00bf282c75e1eb4589326569a9bc5f4f880通过md5算法计算usernamepassword1151658411904字符串生成。

步骤s103:将登陆密匙、登陆密匙与用户信息的关联信息存储在本地redis内存数据库;其中,将登陆密匙存储在本地redis内存数据库,这样有利于加快登陆密匙的读取与验证,将登陆密匙与用户信息的关联信息存储在本地redis内存数据库,用于与应用系统建立登录会话。

其中,redis是一种可基于内存亦可持久化的日志型和key-value的数据库,它可使用ansic语言编写并支持网络,并提供多种语言的api;本实施例通过使用密钥作为键(类型为哈希),用户数据值,从而使用redis将密钥保存,例如:键:f59c126d04a4fc8395af03ea9b0e8f4f,值:username=>username、phone=>13512341234。

本发明在生成登录密匙的过程中,通过摘要算法,对时间戳和用户名和密码的组合进行计算生成的密匙安全、高效、不易破解与被窃取,从而解决了现有技术存在的

步骤s104:将该登录密匙携带在应用系统访问地址中,发送所述应用系统访问地址;其中登陆密匙为密匙参数信息;

步骤s105:客户端接收应用系统访问地址,客户端通过缓存记录携带登录密匙的应用系统访问地址并访问该应用系统;其中,客户端使用缓存(cookies)记录应用系统访问地址过程中,若缓存(cookies)已经进行记录,则客户端自动访问应用系统,并设置上述缓存的有效期。

步骤s106:服务器判断访问来源是否安全以及登录密匙是否有效,在验证成功后,应用系统基于该用户信息建立登录会话凭证;如附图4所示,服务器建立登录会话凭证的其具体方法包括以下步骤:

步骤s1061:服务器获取客户端登录ip地址、用户身份认证ip地址以及用户身份认证次数,若客户端登录ip地址与用户身份认证ip地址一致且用户身份认证次数小于或等于预设次数,则判断该访问来源安全;

步骤s1062:服务器判断是否能从redis内存数据库获取该登陆密匙,在获取到登录密匙的情况下,则子应用系统访问地址验证成功;

步骤s1063:使应用系统基于该用户信息建立登录会话凭证。

步骤s107:客户端通过会话凭证登录应用系统。

本实施例所述的统一登录的方法,服务器通过mysql用户信息视图对用户信息进行验证并在验证成功后生成登陆密匙,再将该登录密匙返回给客户端;客户端通过该登录密匙访问应用系统时,服务器再一次对登录密匙进行验证,验证成功后客户端与应用系统建立登录会话session;其中,不同的用户信息对应不同的应用系统,当服务器对用户信息进行验证时,则会对用户名、密码及所对应的应用系统进行验证,验证成功后则对应的应用系统与客户端建立登录会话,这样能够在同一客户端内登录不同的应用系统。

对用户信息进行认证时的认证服务器、通过用户信息登录应用系统时的登录服务器都集中于同一个服务器,且登录端口都统一集成在客户端,这样可以避免用户牢记多个应用系统的登录地址,以及能够确保服务器内部各种登录密匙的不重复性,以及大大提高了登录密匙的安全性,解决了现有技术存在内部密匙重复、混乱、不安全的问题;另外,本实施例中使用mysql用户信息视图作为多应用系统统一登录的用户数据集合,能够有效在验证用户数据时进行优化,提高验证用户数据的便捷性与效率,解决了现有技术中存在的应用系统登录时缓慢及卡顿的问题,进一步地提高了应用系统的稳定性。

如附图5所示,一种多应用系统统一登录的装置,装置包括有服务器和客户端,服务器包括有:

视图构建装置,用于通过mysql建立用户信息视图;

密匙生成装置,用于接收由客户端发送的用户信息,并通过用户信息视图对用户信息进行验证,在用户信息验证成功的情况下,生成登录密匙;

存储装置,用于将登陆密匙、登陆密匙与用户信息的关联信息通过redis内存数据库存储至本地;

收发装置,用于将登录密匙携带在应用系统访问地址中,发送所述应用系统访问地址;

判断装置,用于判断访问来源是否安全以及验证子应用系统访问地址是否有效;

登录会话session建立装置,用于在访问来源安全且子应用系统访问地址有效的情况下,基于用户信息使应用系统建立登录会话session。

优选的,客户端包括有:

登陆装置,用于在接收应用系统访问地址之后访问应用系统,以及通过会话凭证登录应用系统;

记录模块,用于通过缓存记录携带登录密匙的应用系统访问地址。

优选的,视图构建装置包括有:

第一索引文件创建单元,用于根据用户名、用户密码以及用户系统url地址生成索引文件;

视图创建单元,用于根据该索引文件,通过mysql建立用户信息视图;

查找与验证单元,用于在用户信息视图进行查找用户名,若用户名存在的话,验证用户名以及用户名所对应的用户密码是否准确;

优选的,密匙生成装置包括:

接收单元,用于接收由客户端发送的用户信息;

查找单元,用于在用户信息视图中查找是否存在用户信息;

密匙生成单元,用于在存在用户信息的情况下,对用户登录时的时间戳、用户名、密码三者进行组合,并通过摘要算法计算生成登录密匙;

判断装置包括:

获取单元,用于获取客户端登录ip地址、用户身份认证ip地址以及用户身份认证次数;

第一判断子单元,用于判断客户端登录ip地址与用户身份认证ip地址是否一致以及用户身份认证次数是否小于或等于预设次数,若客户端登录ip地址与用户身份认证ip地址一致且用户身份认证次数是否小于或等于预设次数,则该访问来源安全;

第二判断子单元,用于判断是否能从redis内存数据库获取该登陆密匙,若能从redis内存数据库获取该登陆密匙,则应用系统访问地址验证成功;

控制单元,用于控制应用系统基于该用户信息建立登录会话凭证。

本发明提供的一种多应用系统统一登录装置与上述多应用系统统一登录方法出于相同的技术构思,具有相同的有益效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1