一种用户登陆方法、装置及web服务器与流程

文档序号:23011444发布日期:2020-11-20 12:10阅读:142来源:国知局
一种用户登陆方法、装置及web服务器与流程

本发明涉及多租户领域,更具体的说,涉及一种用户登陆方法、装置及web服务器。



背景技术:

多租户技术(multi-tenancytechnology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。采用多租户技术,一方面不需要进行重复的软件开发以及部署工作,节约代码编写成本。另一方面,即租即用,其他任何一个单位或个人想使用该系统时,后台服务器增加一个租户即可。

在使用多租户技术时进行租户登陆时,需要对租户进行身份验证,通常服务器将获取的租户的登陆信息发至第三方验证平台,第三方验证平台对租户进行身份验证,但引入第三方验证平台容易造成租户身份信息的泄露,安全性较低。



技术实现要素:

有鉴于此,本发明提供一种用户登陆方法、装置及web服务器,以解决第三方验证平台对租户进行身份验证,容易造成租户身份信息的泄露,安全性较低的问题。

为解决上述技术问题,本发明采用了如下技术方案:

一种用户登陆方法,应用于web服务器,所述web服务器预先设置有不同的租户标识对应的数据源,所述数据源中预先存储有其对应的租户标识的用户身份参考信息以及用户操作数据;所述用户登陆方法包括:

获取用户登陆信息;所述用户登陆信息包括用户身份信息以及租户标识;

确定与所述租户标识对应的目标数据源,并从所述目标数据源中获取与所述租户标识对应的用户身份参考信息;

在所述用户身份信息与所述用户身份参考信息匹配的情况下,将所述web服务器使用的数据源切换至所述目标数据源,并基于所述目标数据源存储的用户操作数据进行页面渲染。

可选地,在不同的用户对应的登陆地址不同的情况下,获取用户登陆信息,包括:

获取用户在其对应的登陆地址的页面上输入的用户身份信息,并将所述登陆地址确定为所述租户标识。

可选地,确定与所述租户标识对应的目标数据源,包括:

依据预先设定的登陆地址与租户名称的对应关系,确定所述登陆地址对应的租户名称;

依据预先设定的租户名称与数据源的对应关系,确定所述租户名称对应的目标数据源。

可选地,在不同的用户对应的登陆地址相同的情况下,获取用户登陆信息,包括:

获取用户在登陆地址对应的页面上输入的用户身份信息以及租户标识。

可选地,确定与所述租户标识对应的目标数据源,包括:

将所述租户标识确定为租户名称,并依据预先设定的租户名称与数据源的对应关系,确定所述租户名称对应的目标数据源。

可选地,还包括:

获取在预设租户添加界面中输入的新租户信息;所述新租户信息包括数据源信息以及用户信息;所述用户信息包括租户标识以及用户身份参考信息;

在能够通过所述数据源信息连接到对应的数据源的情况下,将所述数据源信息对应的数据源添加到数据源连接池中;

创建与所述用户信息对应的租户账户,并建立所述用户信息与所述数据源的对应关系。

一种用户登陆装置,应用于web服务器,所述web服务器预先设置有不同的租户标识对应的数据源,所述数据源中预先存储有其对应的租户标识的用户身份参考信息以及用户操作数据;所述用户登陆装置包括:

信息获取模块,用于获取用户登陆信息;所述用户登陆信息包括用户身份信息以及租户标识;

信息确定模块,用于确定与所述租户标识对应的目标数据源,并从所述目标数据源中获取与所述租户标识对应的用户身份参考信息;

用户登陆模块,用于在所述用户身份信息与所述用户身份参考信息匹配的情况下,将所述web服务器使用的数据源切换至所述目标数据源,并基于所述目标数据源存储的用户操作数据进行页面渲染。

可选地,在不同的用户对应的登陆地址不同的情况下,信息获取模块,具体用于:

获取用户在其对应的登陆地址的页面上输入的用户身份信息,并将所述登陆地址确定为所述租户标识。

可选地,所述信息确定模块具体用于:

依据预先设定的登陆地址与租户名称的对应关系,确定所述登陆地址对应的租户名称;

依据预先设定的租户名称与数据源的对应关系,确定所述租户名称对应的目标数据源。

一种web服务器,所述web服务器预先设置有不同的租户标识对应的数据源,所述数据源中预先存储有其对应的租户标识的用户身份参考信息以及用户操作数据;web服务器包括:存储器和处理器;

其中,所述存储器用于存储程序;

处理器调用程序并用于:

获取用户登陆信息;所述用户登陆信息包括用户身份信息以及租户标识;

确定与所述租户标识对应的目标数据源,并从所述目标数据源中获取与所述租户标识对应的用户身份参考信息;

在所述用户身份信息与所述用户身份参考信息匹配的情况下,将所述web服务器使用的数据源切换至所述目标数据源,并基于所述目标数据源存储的用户操作数据进行页面渲染。

相较于现有技术,本发明具有以下有益效果:

本发明提供了一种用户登陆方法、装置及web服务器,web服务器预先设置有不同的租户标识对应的数据源,且该数据源中预先存储有其对应的租户标识的用户身份参考信息,进而在有租户登陆时,获取用户登陆信息后,查找与用户登陆信息中的租户标识对应的目标数据源,从目标数据源中获取用户身份参考信息并对登陆租户进行校验,即本发明仅通过web服务器就能够实现对租户身份的验证,不再依赖于第三方验证平台,进而租户身份信息泄露的可能性较小,安全性较高。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种用户登陆方法的方法流程图;

图2为本发明实施例提供的另一种用户登陆方法的方法流程图;

图3为本发明实施例提供的一种用户登陆装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在使用多租户技术时进行租户登陆时,需要对租户进行身份验证,通常服务器将获取的租户的登陆信息发至第三方验证平台,第三方验证平台对租户进行身份验证,但引入第三方验证平台容易造成租户身份信息的泄露,安全性较低。

为了解决上述的引入第三方验证平台容易造成租户身份信息的泄露,安全性较低的问题,本发明经过研究发现,可以在用于实现多租户技术的web服务器中集成用户身份验证功能,从而仅使用web服务器就可以实现租户登陆。

具体的,web服务器预先设置有不同的租户标识对应的数据源,且该数据源中预先存储有其对应的租户标识的用户身份参考信息,进而在有租户登陆时,获取用户登陆信息后,查找与用户登陆信息中的租户标识对应的目标数据源,从目标数据源中获取用户身份参考信息并对登陆租户进行校验,即本发明仅通过web服务器就能够实现对租户身份的验证,不再依赖于第三方验证平台,进而租户身份信息泄露的可能性较小,安全性较高。

在上述实施例的基础上,本发明的一实施例提供了一种用户登陆方法,参照图1,用户登陆方法包括:

s11、获取用户登陆信息。

所述用户登陆信息包括用户身份信息以及租户标识。

在实际应用中,用户登陆web服务器有两种实现方式,一种实现方式是,不同的租户使用不同的登陆地址登陆,即为不同的租户分别设置不同的登陆地址,若哪一用户需要登陆时,就使用对应的登陆地址进行登陆,web服务器接收到用户的登陆指令后,登陆指令携带有登陆地址,对该登陆地址所对应的页面进行渲染,渲染出一个输入用户身份信息页面,该页面中可以包括账号和密码,用户在该页面上输入账号和密码,点击登陆按钮,web服务器就能够获取到该账号和密码,在实际应用中,可以将用户输入的账号和密码作为用户身份信息,将该登陆地址确定为租户标识。

本实施例中,登陆地址与租户名称的对应关系,租户名称与目标数据源的对应关系已经预先设置在web服务器中,举例来说,登陆地址为http:/bjdhjbcnn.com,租户名称为租户a,对应的目标数据源为db1。

本发明实施例中会预先设定多个租户使用的数据源,不同的数据源的数据源类型可能相同,也可能不同,但是数据源名称肯定是不同。如:数据源一ip:192.168.1.1port:3306dbname:testdb,数据源二ip:192.168.1.2port:3306dbname:testdb2。这样可以保证本发明采用独立数据源,一个租户一个数据源,用户数据隔离级别最高,安全性最好,如果出现故障,恢复数据比较简单,但数据共享性低,成本较高。

每一数据源中存储有对应的租户标识的用户身份参考信息以及用户操作数据,其中,用户身份参考信息可以是该租户对应的真实的账号和密码等,用于在用户登陆时,对用户输入的账号和密码进行验证。用户操作数据可以是用户的历史数据、设置数据等,举例来说,可以是用户历时浏览过哪些网页,设置过哪些内容等等。

在获取到登陆地址之后,按照上述的预先设定的登陆地址与租户名称的对应关系,确定所述登陆地址对应的租户名称,并依据预先设定的租户名称与数据源的对应关系,确定所述租户名称对应的目标数据源,进而就能够从该目标数据源中获取到对应的用户身份参考信息。

用户登陆web服务器的另一种实现方式是,不同的租户使用相同的登陆地址登陆,即为不同的租户均设置同一的登陆地址,所有的租户通过同一登陆地址进行账户登陆,在登陆该登陆地址后,页面会显示出来登陆的页面,除了跟上述的方案一样可以输入账号和密码外,还多了一个通过下拉栏的方式选择租户名称的选择框,用户通过下拉选择的方式选择自己的租户名称,然后点击登陆按钮,web服务器将输入的账号和密码确定为用户身份信息,将选择的租户名称确定为租户标识,也即将上述的所述租户标识确定为租户名称,租户标识和租户名称相同。

然后依据上述的预先设定的租户名称与数据源的对应关系,确定所述租户名称对应的目标数据源。

由上可知,租户访问web服务器的方式提供两种:

(1)不同的租户访问不同的链接,该链接地址是在配置租户信息时,生成的访问地址;

(2)所有用户使用统一的登录地址,在登录时,选择自己所属的租户后,进行登录。

s12、确定与所述租户标识对应的目标数据源,并从所述目标数据源中获取与所述租户标识对应的用户身份参考信息。

本步骤的具体实现过程已经在上述实施例中进行了解释说明,请参照上述相应说明。

s13、在所述用户身份信息与所述用户身份参考信息匹配的情况下,将所述web服务器使用的数据源切换至所述目标数据源,并基于所述目标数据源存储的用户操作数据进行页面渲染。

在获取到用户身份信息与所述用户身份参考信息,验证二者是否匹配,具体可以是验证二者是否是相同,若相同,则认为是二者匹配,也就是用户在登陆地址对应的页面上输入的账号和密码是正确的,则允许租户登陆。

在渲染到该租户登陆的界面之前,需要web服务器将自身使用的数据源动态切换至目标数据源,并依据目标数据源中存储的用户操作数据进行页面渲染,以保证该租户登陆后,显示的是自己的租户内容,如显示自己的聊天记录、聊天设置等等,保证所连接数据源的正确性。

另外,需要注意的是,web服务器在每次启动时,由于不同的租户对应不同的数据源,为了避免在用户访问时进行相应数据源的初始化操作而带来的用户等待时间较长的问题,本发明实施例采用在web服务器启动时进行所有数据源的初始化操作,能够在用户访问时减少等待时间,提高用户体验。

其中,本实施例中的数据初始化操作是指:

从租户信息表查询出每个租户对应的数据源设置信息,将信息封装成druiddatasource对象,然后加入自定义的dynamicrouterdatasource中。

本实施例中,web服务器预先设置有不同的租户标识对应的数据源,且该数据源中预先存储有其对应的租户标识的用户身份参考信息,进而在有租户登陆时,获取用户登陆信息后,查找与用户登陆信息中的租户标识对应的目标数据源,从目标数据源中获取用户身份参考信息并对登陆租户进行校验,即本发明仅通过web服务器就能够实现对租户身份的验证,不再依赖于第三方验证平台,进而租户身份信息泄露的可能性较小,安全性较高。

上述实施例介绍了在租户进行登陆时,如何验证以及数据源如何切换的过程,本发明的另一实施例中,还支持租户的实时创建和修改,具体的,参照图2,用户登陆方法还可以包括:

s21、获取在预设租户添加界面中输入的新租户信息。

其中,在实际应用中,web服务器的管理员才有权限进行租户的增加和修改,其他人员只有在赋予相应的权限时,才能够进行相应的操作。

新增租户时,须在预设租户添加界面进行新租户信息的设置,其中,所述新租户信息包括数据源信息以及用户信息;所述用户信息包括租户标识以及用户身份参考信息。租户标识可以是上述的登陆地址,既可以为独立的登陆地址,也可以选择统一的登陆地址。用户身份参考信息可以是登陆账号和密码等,此外,还可以设置联系人信息、生效起止时间、管理员分配、资源分配等信息。

s22、在能够通过所述数据源信息连接到对应的数据源的情况下,将所述数据源信息对应的数据源添加到数据源连接池中。

上述信息设置完成之后,只有数据源信息校验成功之后才允许保存,保存成功之后,一并将该数据源信息进行初始化,具体的,将数据源信息增加到数据源连接池中,供程序调用供后续动态切换数据源使用。

其中,校验过程为:

根据上述输入的数据源信息,如登陆地址、名称、账户、密码在后台通过java代码进行数据源连接,连接成功代表校验通过,否则失败。

s23、创建与所述用户信息对应的租户账户,并建立所述用户信息与所述数据源的对应关系。

在实际应用中,若上述数据源校验通过,则说明本次的新租户符合要求,可以允许创建,此时与所述用户信息对应的租户账户,将用户信息保存到数据源中,建立所述用户信息与所述数据源的对应关系,以保证后续该租户登陆时,能够通过数据源中保存的用户信息进行租户登陆验证。

本实施例中,通过在web服务器中添加租户,进而能够保证同一web服务器支持不同租户的登陆。

另外,本发明的另一实施例中还支持租户修改操作,具体的,在修改租户时,如果租户管理源修改了数据源信息,须对此进行校验,并且更新相应的数据源信息。以保证该租户连接的数据源是最新的。

可选地,在上述用户登陆方法的实施例的基础上,本发明的另一实施例提供了一种用户登陆装置,应用于web服务器,所述web服务器预先设置有不同的租户标识对应的数据源,所述数据源中预先存储有其对应的租户标识的用户身份参考信息以及用户操作数据;所述用户登陆装置包括:

信息获取模块11,用于获取用户登陆信息;所述用户登陆信息包括用户身份信息以及租户标识;

信息确定模块12,用于确定与所述租户标识对应的目标数据源,并从所述目标数据源中获取与所述租户标识对应的用户身份参考信息;

用户登陆模块13,用于在所述用户身份信息与所述用户身份参考信息匹配的情况下,将所述web服务器使用的数据源切换至所述目标数据源,并基于所述目标数据源存储的用户操作数据进行页面渲染。

进一步,在不同的用户对应的登陆地址不同的情况下,信息获取模块,具体用于:

获取用户在其对应的登陆地址的页面上输入的用户身份信息,并将所述登陆地址确定为所述租户标识。

进一步,所述信息确定模块具体用于:

依据预先设定的登陆地址与租户名称的对应关系,确定所述登陆地址对应的租户名称;

依据预先设定的租户名称与数据源的对应关系,确定所述租户名称对应的目标数据源。

进一步,在不同的用户对应的登陆地址相同的情况下,信息获取模块,具体用于:

获取用户在登陆地址对应的页面上输入的用户身份信息以及租户标识。

进一步,所述信息确定模块具体用于:

将所述租户标识确定为租户名称,并依据预先设定的租户名称与数据源的对应关系,确定所述租户名称对应的目标数据源。

进一步,还包括租户创建模块,具体用于:

获取在预设租户添加界面中输入的新租户信息;所述新租户信息包括数据源信息以及用户信息;所述用户信息包括租户标识以及用户身份参考信息;在能够通过所述数据源信息连接到对应的数据源的情况下,将所述数据源信息对应的数据源添加到数据源连接池中;创建与所述用户信息对应的租户账户,并建立所述用户信息与所述数据源的对应关系。

本实施例中,web服务器预先设置有不同的租户标识对应的数据源,且该数据源中预先存储有其对应的租户标识的用户身份参考信息,进而在有租户登陆时,获取用户登陆信息后,查找与用户登陆信息中的租户标识对应的目标数据源,从目标数据源中获取用户身份参考信息并对登陆租户进行校验,即本发明仅通过web服务器就能够实现对租户身份的验证,不再依赖于第三方验证平台,进而租户身份信息泄露的可能性较小,安全性较高。

需要说明的是,本实施例中的各个模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。

可选地,在上述用户登陆方法及装置的实施例的基础上,本发明的另一实施例提供了一种web服务器,所述web服务器预先设置有不同的租户标识对应的数据源,所述数据源中预先存储有其对应的租户标识的用户身份参考信息以及用户操作数据;web服务器包括:存储器和处理器;

其中,所述存储器用于存储程序;

处理器调用程序并用于:

获取用户登陆信息;所述用户登陆信息包括用户身份信息以及租户标识;

确定与所述租户标识对应的目标数据源,并从所述目标数据源中获取与所述租户标识对应的用户身份参考信息;

在所述用户身份信息与所述用户身份参考信息匹配的情况下,将所述web服务器使用的数据源切换至所述目标数据源,并基于所述目标数据源存储的用户操作数据进行页面渲染。

进一步,在不同的用户对应的登陆地址不同的情况下,获取用户登陆信息,包括:

获取用户在其对应的登陆地址的页面上输入的用户身份信息,并将所述登陆地址确定为所述租户标识。

进一步,确定与所述租户标识对应的目标数据源,包括:

依据预先设定的登陆地址与租户名称的对应关系,确定所述登陆地址对应的租户名称;

依据预先设定的租户名称与数据源的对应关系,确定所述租户名称对应的目标数据源。

进一步,在不同的用户对应的登陆地址相同的情况下,获取用户登陆信息,包括:

获取用户在登陆地址对应的页面上输入的用户身份信息以及租户标识。

进一步,确定与所述租户标识对应的目标数据源,包括:

将所述租户标识确定为租户名称,并依据预先设定的租户名称与数据源的对应关系,确定所述租户名称对应的目标数据源。

进一步,还包括:

获取在预设租户添加界面中输入的新租户信息;所述新租户信息包括数据源信息以及用户信息;所述用户信息包括租户标识以及用户身份参考信息;

在能够通过所述数据源信息连接到对应的数据源的情况下,将所述数据源信息对应的数据源添加到数据源连接池中;

创建与所述用户信息对应的租户账户,并建立所述用户信息与所述数据源的对应关系。

本实施例中,web服务器预先设置有不同的租户标识对应的数据源,且该数据源中预先存储有其对应的租户标识的用户身份参考信息,进而在有租户登陆时,获取用户登陆信息后,查找与用户登陆信息中的租户标识对应的目标数据源,从目标数据源中获取用户身份参考信息并对登陆租户进行校验,即本发明仅通过web服务器就能够实现对租户身份的验证,不再依赖于第三方验证平台,进而租户身份信息泄露的可能性较小,安全性较高。

需要说明的是,本实施例中的各个步骤的具体实现过程,请参照上述实施例中的相应说明,在此不再赘述。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

在一个典型的配置中,设备包括一个或多个处理器(cpu)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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