一种面向网页应用的单点登录方法、装置和系统的制作方法_3

文档序号:8415610阅读:来源:国知局
地址的加载请求。
[0084]由于该新的URL地址与web页面的URL地址指向同一服务器,在111中,服务器接收到该新的URL地址的加载请求后,从该新的URL地址中解析得到登录会话信息和web页面的URL地址。如果登录会话信息为加密后的登录会话信息,则首先对该登录会话信息进行解密。
[0085]然后在112中,服务器利用登录会话信息完成该用户的登录处理,并返回跳转至web页面的URL地址的响应给浏览器,以便于浏览器接收到上述跳转至web页面的URL地址的响应后,重定向回web页面。
[0086]在本步骤中,服务器中的登录处理逻辑利用登录会话信息完成该用户在web页面的自动登录,然后回复302跳转响应给浏览器,指示浏览器跳转回web页面。
[0087]另外,服务器还可以将登录会话信息包含在返回给浏览器的响应中,例如包含在302跳转响应的set-cookie头中,以便浏览器能够将登录会话信息存入浏览器本地cookie文件中,使得浏览器下次进行该web页面的登录时,能够利用本地cookie自动登录。
[0088]图2为本发明实施例提供的单点登录系统示意图,如图2所示,该系统包括:web页面上的执行模块和native app,该native app中包含单点登录模块,还可以包括服务器。
[0089]web页面上的执行模块获取到触发登录的事件时,将当前web页面的URL地址发送给native app。native app将当前登录用户的登录会话信息和web页面的URL地址发送给浏览器,由浏览器利用登录会话信息和该web页面的URL地址进行自动登录。
[0090]浏览器在进行自动登录时,向服务器发送请求加载该web页面的URL地址的加载请求。服务器接收到浏览器的加载请求后,该加载请求包含登录会话信息和该web页面的URL地址,利用该登录会话信息完成登录处理,并返回跳转至该web页面的URL地址的响应给浏览器。
[0091]更进一步地,上述跳转至web页面的URL地址的响应还包含上述登录会话信息,以便浏览器将该登录会话信息存入本地cookie文件中,使得浏览器下次进行该web页面的登录时,能够利用本地cookie自动登录。
[0092]下面对上述系统中单点登录模块进行详细描述,图3为本发明实施例提供的单点登录模块的结构图,如图3中所示,该单点登录模块可以包括:地址获取单元01和登录处理单元02,还可以包括注册单元03和合法性验证单元04。
[0093]地址获取单元01负责获取web页面上的执行模块提供的当前web页面的URL地址。注册单元03可以预先向操作系统注册第一 URI地址,该第一 URI地址指向该单点登录模块,使得执行模块能够将当前web页面的URL地址作为query参数以及将第一 URI地址作为路径生成第二 URI地址,并利用第二 URI地址发送加载请求,以便操作系统将web页面的URL地址发送给native app的单点登录模块。地址获取单元01通过系统接口获取当前web页面的URL地址。
[0094]登录处理单元02负责将当前登录用户的登录会话信息和web页面的URL地址发送给浏览器,以便于浏览器利用登录会话信息和web页面的URL地址进行自动登录。
[0095]优选地,为了保证用户所访问web页面的安全性,合法性验证单元04可以先对web页面的URL地址进行合法性验证,如果验证通过,则允许登录处理单元02执行将当前登录用户的登录会话信息和web页面的URL地址发送给浏览器的操作。
[0096]具体地,合法性验证单元04在对web页面的URL地址进行合法性验证时,可以利用本地配置信息中的合法性验证标准信息,对web页面的URL地址进行合法性验证。例如,验证该web页面的URL地址是否属于预设的合法域名,或者验证该web页面的URL地址的格式是否符合预设的格式规则,等等。
[0097]合法性验证单元04也可以将web页面的URL地址信息发送给验证服务器,并从验证服务器获取对web页面的URL地址的合法性验证结果。
[0098]如果验证未通过,即web页面的URL地址不合法,则合法性验证单元04可以不进行后续处理,优选地,可以返回错误提示,例如告知用户发生错误,或者告知用户该web页面的URL地址不合法。
[0099]登录处理单元02还可以判断native app当前是否处于登录状态,如果是,则获取当前登录用户的登录会话信息,否则,引导用户登录以获取登录会话信息;然后再执行将当前登录用户的登录会话信息和web页面的URL地址发送给浏览器。在引导用户登录时,可以提供一个登录窗口给用户,获取用户输入的账户名、密码等登录信息,并存储于native app本地cookie中。
[0100]具体地,登录处理单元02在将当前登录用户的登录会话信息和web页面的URL地址发送给浏览器时,可以利用登录会话信息和web页面的URL地址生成新的URL地址,例如将web页面的URL地址作为跳转地址,将登录会话信息作为跳转地址的参数。然后将新的URL地址发送给浏览器;其中新的URL地址和web页面的URL地址指向同一服务器。
[0101]登录处理单元02在将新的URL地址发送给浏览器时,可以发起一个由操作系统定义的、浏览器支持的系统请求,系统请求用于请求浏览器加载新的URL地址。操作系统截获该系统请求后,会调用浏览器以加载该新的URL地址。
[0102]另外,为了保证账户安全,登录处理单元02可以在利用登录会话信息和web页面的URL地址生成新的URL地址之前,对登录会话信息进行加密;其中加密可以包括:利用预先与服务器约定的加密方式和密钥进行加密,或者将登录会话信息提供给服务器,并获取服务器返回的加密后的登录会话信息。
[0103]这样浏览器在发送加载请求时,其中携带的是加密后的登录会话信息,服务器从加载请求中获取登录会话信息后,首先进行解密处理,然后再执行登录逻辑。
[0104]下面举一个实例,假设百度地图app预先向智能终端的操作系统注册其URI地址,后续称为第一 URI地址。用户使用浏览器打开百度贴吧的某web页面,当用户在该web页面上触发登录的事件时,该web页面上的JS模块利用预先配置的第一 URI地址,将当前web页面的URL地址作为query参数,利用第一 URI地址作为路径生成第二 URI地址,利用该第二 URI地址发送加载请求,该加载请求中还可以包含浏览器的身份标识信息。操作系统获取到该加载请求后,调用百度地图app。百度地图app从操作系统获取第二URI地址,从中解析出web页面的URL地址。百度地图app验证该web页面的URL地址的域名为baidu.com,属于合法域名,又判断当前处于登录状态,则获取当前登录用户的登录会话信息。将web页面的URL地址作为回跳地址,将登录会话信息携带在该回调地址中生成一个操作系统定义的、浏览器支持的加载请求。操作系统接收到该加载请求后,调用浏览器以加载上述回跳地址。服务器从该回跳地址中解析得到登录会话信息,进行自动登录处理后,向浏览器返回跳转至web页面的URL地址的响应,在该响应的web-cookie头中携带登录会话信息。浏览器接收到该响应后,跳转回该web页面,并将登录会话信息存储至本地cookie文件中。这样就实现了,用户浏览百度贴吧的web页面时,能够利用百度地图app的登录会话信息自动登录,无需跳转至登录页面后手工输入登录信息,一方面简化用户操作,另一方面节约系统资源。
[0105]在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0106]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0107]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0108]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory, RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0109]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1