具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
参考图1,图1为本发明一实施例提供的一种单点登录方法的流程示意图。所述单点登录方法可以应用到业务系统服务器,本实施例详述如下:
S101:接收客户端发送的登录请求信息,登录请求信息由客户端根据登录参数信息和验证信息生成,登录参数信息包括登录验证页面地址标识、跳转页面地址标识,验证信息包括客户端登录密钥。
在本发明实施例中,客户端可以是教学终端,如PC(Personal Computer,个人电脑),具体地,该客户端可以是虚拟仿真平台。登录请求信息的格式可以是URL(UniformResource Locator,统一资源定位符)格式。登录参数信息可以包含登录验证页面地址标识、跳转页面地址标识。验证信息中的登录密钥可以是握手密钥。
S102:根据登录验证页面地址标识获取登录验证页面。
在本发明实施例中,登录页面地址标识可以是URL格式的,业务系统服务器中可以预存登录页面地址标识对应的登录验证页面。
S103:在登录验证页面根据预存的登录密钥验证客户端登录密钥是否正确。
S104:若验证客户端登录密钥不正确,则发送第一登录失败信息到客户端。
在本发明实施例中,第一登录失败信息中携带提醒用户重新登录的信息。
S105:若验证客户端登录密钥正确,则获取跳转页面地址标识对应的跳转页面,并发送跳转页面到客户端。
在本发明实施例中,跳转页面为客户端在业务系统登陆成功后需要进入的页面,进入跳转页面后表示登录成功。
从上述实施例可知,通过接收客户端发送的登录请求信息,登录请求信息由客户端根据登录参数信息和验证信息生成,登录参数信息包括登录验证页面地址标识、跳转页面地址标识,验证信息包括客户端登录密钥;根据登录验证页面地址标识获取登录验证页面;在登录验证页面根据预存的登录密钥验证客户端登录密钥是否正确;若验证客户端登录密钥正确,则获取跳转页面地址标识对应的跳转页面,并发送跳转页面到客户端。本发明实施例能够根据客户端自动生成的登录请求信息,实现快速、方便地的登录到业务系统,可解决现有技术登录过程繁琐,容易忘记账户或密码,影响教学工作的问题。
参考图2,图2为本发明另一实施例提供的一种单点登录方法的流程示意图。在上述实施例的基础上,本实施例的登录参数信息还包括服务器地址标识,本实施例详述如下:
S201:接收客户端发送的登录请求信息,登录请求信息由客户端根据登录参数信息和验证信息生成,登录参数信息包括服务器地址标识、登录验证页面地址标识、跳转页面地址标识,验证信息包括客户端登录密钥。
在本发明实施例中,服务器地址标识可以是IP地址,如192.168.1.101。
S202:检测服务器地址标识与预存服务器地址标识是否相同。
在本发明实施例中,预存的服务器地址标识,为服务器本身配置的地址标识。
S203:若检测到服务器地址标识与预存服务器地址标识不同,则发送第二登录失败信息到客户端。
在本发明实施例中,通过发送登录失败信息已提醒用户登录失败,请重新登录。其中第二登录失败信息中携带服务器地址标识不正确的提示信息。
S204:若检测到服务器地址标识与预存服务器地址标识相同,则根据登录验证页面地址标识获取登录验证页面;
S205至S207的步骤与S103至S105的步骤一致,具体参见S103至S105的具体内容,这里不再赘述。
从上述实施例可知,本实施例的单点登录方法,通过确定服务器地址标识与预存服务器地址标识不同时,则发送第二登录失败信息到客户端,避免非法客户端登录。
参考图3,图3为本发明再一实施例提供的一种单点登录方法的流程示意图。在上述实施例的基础上,本实施例的验证信息还包括信息生成时间,本实施例详述如下:
S301:接收客户端发送的登录请求信息,登录请求信息由客户端根据登录参数信息和验证信息生成,登录参数信息包括登录验证页面地址标识、跳转页面地址标识,验证信息包括客户端登录密钥、信息生成时间。
S302:根据登录验证页面地址标识获取登录验证页面。
S303:根据信息生成时间、接收到登录请求信息的时间和预设时长,判断验证信息是否有效。
在本发明实施例中,信息生成时间可以是时时间戳信息,预设时长可以根据需要进行选择,例如30秒。可以根据信息生成时间减去接收到登录请求信息的差值,用差值与预设时长比较;若差值超出预设时长,则判定验证信息失效;否则,则判定验证信息有效。
S304:若判定验证信息失效,则发送第三登录失败信息到客户端。
在本发明实施例中,第三登录失败信息中携带验证信息失效提示信息。
S305:若判定验证信息有效,则在登录验证页面根据预存的登录密钥验证客户端登录密钥是否正确。
S306至S307与步骤S 104至S105的内容一致,具体参见步骤S 104至S105的具体内容,这里不再赘述。
从上述实施例可知,本实施例提供的单点登录方法,通过根据信息生成时间、接收到登录请求信息的时间和预设时长,判断验证信息是否有效,若判定验证信息失效,则发送第三登录失败信息到客户端,可避免非法用户盗用登录请求信息进行非法登录。
参考图4,图4为本发明又一实施例提供的一种单点登录方法的流程示意图。在上述实施例的基础上,本实施例的验证信息还包括目标角色标识,本实施例详述如下:
S401:接收客户端发送的登录请求信息,登录请求信息由客户端根据登录参数信息和验证信息生成,登录参数信息包括登录验证页面地址标识、跳转页面地址标识,验证信息包括客户端登录密钥、目标角色标识。
本发明实施例中,角色标识可以包括学生标识、教师标识、管理员标识等。
步骤S402至S405的内容与S102至105的内容一致,具体请参见S102至105的相关内容,这里不再赘述。
S406:根据角色标识确定目标登录权限。
本发明实施例中,用户角色标识对应不同的登录权限,根据预存用户角色标识与登录权限的对应关系,确定用户角色对应的标识目标登录权限。其中预存用户角色标识与登录权限的对应关系可以包括:学生标识与学生权限、教师标识与教师权限、管理员标识与管理原权限等。
S407:根据预存登录权限与用户页面的对应关系,获取目标登录权限对应的目标用户页面。
在本发明实施例中,预存登录权限与用户页面的对应关系可以包括:学生权限与学生登页面、教师权限与教师登录页面、管理原权限与管理员登录页面等。
S408:发送目标用户页面到客户端,以使客户端从跳转页面切换到目标用户页面。
从上述实施例可知,本实施例提供的单点登录方法,通过根据目标角色标识确定目标登录权限,获取目标登录权限对应的目标用户页面,发送目标用户页面到客户端,以使客户端从跳转页面切换到目标用户页面,能够实现不同的用户登录到不同的用户页面,实现登录的多元化。
在本发明的一个实施例中,在上述实施例的基础上,所述验证信息还包括目标用户标识;在验证所述客户端登录密钥正确之后,还包括:
检测预存用户标识中是否包含所述目标用户标识;
若检测到所述预存用户标识中不包含所述目标用户标识,保存所述目标用户标识;
根据所述用户标识生成用户账号。
通过保存用户目标标识,当下次接收的登录请求信息包含所述目标用户标识时,可以直接进行登录。
在本发明的一个实施例中,在上述实施例的基础上,所述登录请求信息为MD5加密格式;所述接收客户端发送的登录请求信息之后,还包括:对所述登录请求信息进行MD5格式解析,得到解析后的登录请求信息。
通过对登录请求信息进行加密,可以保证登录请求信息在传输过程中的安全性,避免登录信息被非法窃取。
下面通过一个具体的应用实例,对上述各实施例的单点登录方法进行说明。本实施例的客户端为用户登录虚拟仿真平台。
用户登录虚拟仿真平台通过用户的点击生成一个URL格式的登录请求信息,例如:
http://192.168.1.101/index.asp?verify=0188F3F3BD26A72BD6D61C244DA38EE8&userName=20089006072&strSysDatetime=2009-07-0310:02:08&jsName=te acher&url=main.aspx
上述URL格式的登录请求信息包括如下几部分:
(1)192.168.1.101为业务系统服务器地址标识;
(2)index.asp为登录验证页面地址标识;
(3)verify=0188F3F3BD26A72BD6D61C244DA38EE8&userName=20089006072&strSy sDatetime=2009-07-0310:02:08&jsName=teacher为验证信息,其中,0188F3F3BD26A72BD6D61C244DA38EE8为登录密钥;serName=20089006072为目标用户标识;strSysDatetime=2009-07-0310:02:08为时间标识;jsName=teacher为目标角色标识;
(4)url=main.aspx为跳转页面地址标识。
需要说明的是:当跳转页面地址标识为根目录地址标识时,可以直接引用该地址标识;当跳转页面地址标识为二级目录或多级目录的地址标识时,生成登录请求信息需要对跳转页面地址标识进行编码,当业务系统服务接收到登录请求信息后,需要对编码后的跳转页面地址标识进行解码得到跳转页面地址标识。
验证信息为verify格式,verify(验证信息)=userName(目标用户标识)+zfkey(登录密钥)+strSysDatetime(时间标识)+jsName(目标角色标识)。
采用MD5对verify进行加密的过程为:
原始verify=20089006072zfdxc_cyj212009-07-0310:02:08teacher;
MD5加密后verify=0188F3F3BD26A72BD6D61C244DA38EE8。
对应于上文实施例的单点登录方法,图5为本发明一实施例提供的一种单点登录系统的结构框图。为了便于说明,仅示出了与本发明实施例相关的部分。参照图5,该系统包括:请求信息接收模块501、录验证页面获取模块502、验证模块503、信息发送模块504、跳转页面发送模块505。
请求信息接收模块501,用于接收客户端发送的登录请求信息,所述登录请求信息由所述客户端根据登录参数信息和验证信息生成,所述登录参数信息包括登录验证页面地址标识、跳转页面地址标识,所述验证信息包括客户端登录密钥;
录验证页面获取模块502,用于根据所述登录验证页面地址标识获取登录验证页面;
验证模块503,用于在所述登录验证页面根据预存的登录密钥验证所述客户端登录密钥是否正确;
信息发送模块504,用于若验证所述客户端登录密钥不正确,则发送第一登录失败信息到所述客户端;
跳转页面发送模块505,用于若验证所述客户端登录密钥正确,则获取所述跳转页面地址标识对应的跳转页面,并发送所述跳转页面到所述客户端。
在本发明的一个实施例中,参考图5,所述登录参数信息还包括服务器地址标识;
所述系统还包括:
失效判断模块506,用于所述录验证页面获取模块502之前,检测所述服务器地址标识与预存服务器地址标识是否相同;
所述信息发送模块504,还用于若检测到所述服务器地址标识与预存服务器地址标识不同,则发送第二登录失败信息到所述客户端;
所述录验证页面获取模块502,还用于若检测到所述服务器地址标识与预存服务器地址标识相同,则执行根据所述登录验证页面地址标识获取登录验证页面的步骤。
在本发明的一个实施例中,参考图5,所述验证信息还包括信息生成时间;
所述系统还包括:
判断模块507,用于所述验证模块503之前,根据所述信息生成时间、接收到登录请求信息的时间和预设时长,判断所述验证信息是否有效;
所述信息发送模块504,还用于若判定所述验证信息失效,则发送第三登录失败信息到所述客户端;
所述验证模块503,还用于若判定所述验证信息有效,则执行在所述登录验证页面根据预存的登录密钥验证所述客户端登录密钥是否正确的步骤。
在本发明的一个实施例中,参考图4,所述验证信息还包括角色标识;
所述系统还包括:
确定模块508,用于跳转页面发送模块505之后,根据所述角色标识确定登录权限;
用户页面获取模块509,用于根据预存登录权限与跳转页面的对应关系,获取所述登录权限对应的用户页面;
用户页面发送模块510,用于发送所述用户页面到所述客户端,以使所述客户端从跳转页面切换到用户页面。
在本发明的一个实施例中,参考图5,所述验证信息包括目标用户标识;
所述系统还包括:
检测模块511,用于所述跳转页面发送模块505之后,检测预存用户标识中是否包含所述目标用户标识;
保存模块512,用于若所述检测到预存用户标识中不包含所述目标用户标识,保存所述目标用户标识;
生成模块513,用于根据所述用户标识生成用户账号。
在本发明的一个实施例中,参考图5,所述登录请求信息为MD5加密格式;所述系统还包括:解析模块514,用于所述请求信息接收模块510之后对所述登录请求信息进行MD5格式解析,得到解析后的登录请求信息。
参见图6,图6为本发明一实施例提供的一种单点登录的终端设备的示意框图。如图6所示的本实施例中的终端600可以包括:一个或多个处理器601、一个或多个输入设备602、一个或多个则输出设备603及一个或多个存储器604。上述处理器601、输入设备602、则输出设备603及存储器604通过通信总线606完成相互间的通信。存储器604用于存储计算机程序,所述计算机程序包括程序指令。处理器601用于执行存储器604存储的程序指令。其中,处理器601被配置用于调用所述程序指令执行以下操作:
处理器601,用于接收客户端发送的登录请求信息,所述登录请求信息由所述客户端根据登录参数信息和验证信息生成,所述登录参数信息包括登录验证页面地址标识、跳转页面地址标识,所述验证信息包括客户端登录密钥;根据所述登录验证页面地址标识获取登录验证页面;在所述登录验证页面根据预存的登录密钥验证所述客户端登录密钥是否正确;若验证所述客户端登录密钥不正确,则发送登录失败信息到所述客户端;若验证所述客户端登录密钥正确,则获取所述跳转页面地址标识对应的跳转页面,并发送所述跳转页面到所述客户端。
进一步地,所述登录参数信息还包括服务器地址标识;处理器601,还用于所述根据所述登录验证页面地址标识获取登录验证页面之前,检测所述服务器地址标识与预存服务器地址标识是否相同;若确定所述服务器地址标识与预存服务器地址标识不同,则发送登录失败信息到所述客户端;若确定所述服务器地址标识与预存服务器地址标识相同,则执行根据所述登录验证页面地址标识获取登录验证页面的步骤。
进一步地,所述验证信息还包括信息生成时间;处理器601,还用于所述在所述登录验证页面根据预存的登录密钥验证所述客户端登录密钥是否正确之前,根据所述信息生成时间、接收到登录请求信息的时间和预设时长,判断所述验证信息是否有效;若判定所述验证信息失效,则发送登录失败信息到所述客户端;若判定所述验证信息有效,则执行在所述登录验证页面根据预存的登录密钥验证所述客户端登录密钥是否正确的步骤。
进一步地,所述验证信息还包括目标角色标识;处理器601,用于获取所述跳转页面地址标识对应的跳转页面,并发送所述跳转页面到所述客户端之后,根据所述目标角色标识确定目标登录权限;根据预存登录权限与用户页面的对应关系,获取所述目标登录权限对应的目标用户页面;发送所述目标用户页面到所述客户端,以使所述客户端从跳转页面切换到目标用户页面。
进一步地,所述验证信息还包括目标用户标识;处理器601,还用于验证所述客户端登录密钥正确之后,检测预存用户标识中是否包含所述目标用户标识;若所述预存用户标识中不包含所述目标用户标识,保存所述目标用户标识;根据所述用户标识生成用户账号。
应当理解,在本发明实施例中,所称处理器601可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备602可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备603可以包括显示器(LCD等)、扬声器等。
该存储器604可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器604的一部分还可以包括非易失性随机存取存储器。例如,存储器604还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器601、输入设备602、输出设备603可执行本发明实施例提供的业务请求方法的第一实施例和第二实施例中所描述的实现方式,也可执行本发明实施例所描述的终端的实现方式,在此不再赘述。
在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。