一种基于Python的智能认证方法及系统与流程

文档序号:30234261发布日期:2022-06-01 07:51阅读:86来源:国知局
一种基于Python的智能认证方法及系统与流程
一种基于python的智能认证方法及系统
技术领域
1.本发明属于计算机技术领域,具体而言属于一种基于python的智能认证方法及系统。


背景技术:

2.装饰器是python的一个重要组成部分,简单地说,这是一种修改其他函数功能的函数,一般来说其实现了一个通用的功能,然后将这个通用的功能应用到不同的、需要使用这个功能的函数上,使用装饰器可以有效地解决python开发中一些实际的问题。
3.对于大多数需要用户登录的系统中,用户认证处理是必不可少的一个环节。对于独立的业务系统来说,用户认证处理通过编码方式在系统上线运行前确定即可满足要求。但对于需要接入客户原有系统,自身作为第三方系统的产品来说,往往需要针对客户原有的系统进行客制化改造。此过程需要花费大量的人力物力,即使产品最终通过客制化方式实现了用户系统的接入,在产品的不断推广过程中,诸如客户的用户系统升级需要产品方抽调人手进行同步升级;不同客户之间因为用户认证方式不同导致客制化版本繁多,产品迭代升级时,也需要对所有的客制化版本同步升级。最终使得产品的维护成本越来越高,难以为继。因此,亟需一种可以智能实现且一劳永逸的用户认证的方法及系统。
4.有鉴于此,特提出本发明。


技术实现要素:

5.本发明的第一目的在于提供一种基于python的智能认证方法,本方法基于自定义python脚本进行执行,实现用户认证的可编程化,降低了产品推广、维护的成本。
6.本发明的第二目的在于提供一种基于python的智能认证系统,本系统是基于上述方法所设计的,也即是说本系统为上述方法的实现提供了底层物理基础。
7.为了实现本发明的上述目的,特采用以下技术方案:
8.本发明提供的方法包括如下步骤:
9.通过python装饰器标记登录处理函数类别,并提取登录处理函数的字段列表,并将类别以及对应字段列表保存到数据库中;
10.从数据库中获取到所述登录类别及登录字段列表并展示;
11.根据用户选择的登录类别,以及用户填写的对应登录字段的内容进行登录,调用对应的登录处理函数进行认证并返回认证结果。
12.本发明是基于python脚本完成的,所述python脚本包括登录处理函数和装饰器。
13.其中所述装饰器为发明人自定义的装饰器,其专门用以装饰本发明使用到的登录处理函数,被此装饰器装饰的函数都会被认为是用户登录处理的函数。所述装饰器可以通过函数签名获取到所述登录处理函数的参数列表并将其作为登录字段,具体而言指的是诸如账号密码一类的字段信息,并且所述装饰器依据category参数标记所述登录处理函数的登录类别,这一参数是用来支持具有多套独立用户系统的场景,在这样的场景中每一个独
立用户系统都是具有一个对应的登录处理函数的,在用户认证的过程中便是通过category参数来做到调用不同的登录处理函数来认证对应的独立用户系统。
14.在所述python脚本保存时,对所有被装饰器装饰的登录处理函数进行提取,将这些函数的函数名和字段信息保存到数据库中。
15.所述category参数默认为default,且全局唯一,具体而言即是数据库中不能存在多个相同category参数的登录处理函数。
16.优选地,数据库中记录有与登录类别对应的登录处理函数及登录字段列表,在选择具体登录类别后将调用对应的登录处理函数及登录字段进行认证。
17.优选地,获取所述登录字段的方法包括如下步骤:
18.从数据库中获取所有登录类别及对应的登录处理函数名与登录字段列表;
19.若存在多个登录类别,根据不同登录类别对应的不同登录字段列表生成若干个表单。每个表单中展示各登录类别所需的登录字段列表;
20.若只存在一个登录类别,直接生成一个表单,并展示对应登录字段。
21.优选地,所述认证结果根据登录处理函数返回值确定,若返回用户认证token字符串,则表示登录成功;若抛出错误表示登录失败,同时返回错误信息,并重新登录。
22.本发明公开的基于python的智能认证系统包括:
23.存储模块:通过python装饰器标记登录处理函数类别,并提取登录处理函数的字段列表,并将类别以及对应字段列表保存到数据库中;
24.展示模块:从数据库中获取到所述登录类别及登录字段列表并展示;
25.登录模块:根据用户选择的登录类别,以及用户填写的对应登录字段的内容进行登录,调用对应的登录处理函数进行认证并返回认证结果。
26.并且本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,所述程序执行时实现上述方法的步骤。
27.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
28.与现有技术相比,本发明的有益效果在于:
29.(1)利用自定义python脚本实现智能的用户认证处理,降低了产品接入用户系统时的客制化成本。
30.(2)避免了因客制化产生大量不同客户的专属版本,降低维护成本。
附图说明
31.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
32.图1为本发明实施例提供的智能认证方法流程示意图;
33.图2为本发明实施例提供的前后端交互示意图;
34.图3为本发明实施例提供的智能认证系统示意图;
35.图4为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
36.下面将结合附图和具体实施方式对本发明的技术方案进行清楚、完整地描述,但是本领域技术人员将会理解,下列所描述的实施例是本发明一部分实施例,而不是全部的实施例,仅用于说明本发明,而不应视为限制本发明的范围。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.为了更加清晰的对本发明中的技术方案进行阐述,下面以具体实施例的形式进行说明。
38.实施例
39.参阅图1-2所示,本实施例提供了一种基于python的智能认证方法,本方法包括如下步骤:
40.s1-1:通过python装饰器标记登录处理函数,并通过函数签名提取登录处理函数的字段列表,并将类别以及对应字段列表保存到数据库中;
41.s1-2:从数据库中获取到所述登录类别及字段列表并展示;
42.s1-3:根据用户选择的登录类别,以及用户填写的对应登录字段的内容进行登录,调用对应的登录处理函数进行认证并返回认证结果。
43.其中具体步骤如下:首先编写与用户系统对接的python脚本,客户方编写用户登录处理函数,所述用户登录处理函数包括一个或多个登录字段,分别对应用户登录时需要进行填写的登录表单的字段,本实施例中提供的字段包括username和password,分别对应用户名和密码。
44.在所述用户登录处理函数中,还编写有使用所述登录字段进行的具体登录操作的处理代码,处理代码使用用户提交的用户名和密码向对接的用户系统发起登录请求,并判断是否成功登录。
45.所述python脚本还包括装饰器,所述装饰器用以装饰所述登录处理函数,本实施例提供的装饰器具有category参数,表示登录类别。
46.用户保存并执行所述python脚本后,会提取被装饰后的登录处理函数,并将登录类别、登录处理函数名及登录处理函数的参数列表保存到数据库。
47.用户使用python脚本登录系统时,系统会取出所有的登录类别及其对应的登录字段列表返回给前端。在此过程中,若是数据库中存在多个登录类别,前端会根据category参数即登录类别生成可切换表单,并展示对应字段,在本实施例中提供的是一种附带标签页的可切换表单,在其他可能的实施例中也可以使用附带下拉框的可切换表单。若是数据库中只有一个登录处理函数,前端直接生成一个登录表单并展示对应字段。
48.用户选择好表单根据登录信息登录后,前端会将用户所选表单所对应的登录类别,以及用户在表单中填写的登录字段内容发送至后端,在系统后端加载所述python脚本,并根据登录类别找到对应的登录处理函数,并使用用户在表单中填写的登录字段内容(用户名、密码)作为参数调用登录处理函数,并返回认证结果,所述认证结果根据登录处理函数返回值确定。如返回用户认证token字符串,则表示登录成功;如抛出错误表示登录失败,同时返回错误信息,并重新登录。
49.如图3所示,本实施例还提供了一种基于python的智能认证系统,其包括:
50.存储模块3-1:通过python装饰器标记登录处理函数类别,并提取登录处理函数的字段列表,并将类别以及对应字段列表保存到数据库中;
51.展示模块3-2:从数据库中获取到所述登录类别及登录字段列表并展示;
52.登录模块3-3:根据用户选择的登录类别,以及用户填写的对应登录字段的内容进行登录,调用对应的登录处理函数进行认证并返回认证结果。
53.图4是本发明公开的一种计算机设备的结构示意图。参考图4所示,该计算机设备包括:输入装置63、输出装置64、存储器62和处理器61;所述存储器62,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器61执行,使得所述一个或多个处理器61实现如上述实施例提供的智能认证方法;其中输入装置63、输出装置64、存储器62和处理器61可以通过总线或者其他方式连接,图4中以通过总线连接为例。
54.存储器62作为一种计算设备可读写存储介质,可用于存储软件程序、计算机可执行程序,如本技术实施例所述的方法对应的程序指令;存储器62可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等;此外,存储器62可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件或其他非易失性固态存储器件;在一些实例中,存储器62可进一步包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
55.输入装置63可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入;输出装置64可包括显示屏等显示设备。
56.处理器61通过运行存储在存储器62中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理。
57.上述提供的计算机设备可用于执行上述实施例提供的智能认证方法,具备相应的功能和有益效果。
58.本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的智能认证方法,存储介质是任何的各种类型的存储器设备或存储设备,存储介质包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddr ram、sram、edo ram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等;存储介质可以还包括其它类型的存储器或其组合;存储介质包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
59.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1