1.一种基于面向系统集成的跨域单点登录系统进行跨域单点登录的方法,其特征在于:所述面向系统集成的跨域单点登录系统包括:终端,用于向各子系统发送请求;访问代理服务器,部署在子系统前,并与子系统处于同一顶级域下,用于全权处理和转发一切发往子系统的请求;单点登录服务器,包括统一登录接口、授权码生成模块、授权码管理模块、模拟登录模块,其中:统一登录接口用于完成用户名、密码登录或免登陆,并将登录信息发送到模拟登录模块;授权码生成模块用于生成唯一授权码;授权码管理模块用于保存用户名、授权码、生成时间、存储时间,同时用于启动定时器定时清理已过时的用户登录信息,还用于对访问代理服务器提出的验证请求,对带有授权码信息的Cookie进行验证;模拟登录模块用于向用户展示登录成功界面,并在登录成功界面生成数个不可见的iframe框架;所述单点登录服务器部署时,为每个系统设置单独的登录接口,登录接口分为两种,第一种是系统原生登录接口,自带登录功能的系统必须设置这种接口;另外一种为访问代理服务器中的登录接口,全部系统都需要设置这种接口;所述iframe框架的URL为第二种登录接口的iframe,会携带授权码向代理访问层发出请求,代理访问层根据请求信息,生成带有授权码信息的Cookie;所述基于上述系统进行跨域单点登录的方法,包括:用户通过终端向子系统发起请求时,首先由访问代理服务器接受到该请求;访问代理服务器将该请求转发给子系统的同时,重定向到单点登录服务器的统一登录界面,并通过统一登录接口完成下列登录:1)填写用户名、密码、是否免登陆;2)向授权码生成模块请求唯一授权码,授权码生成模块使用GUID生成唯一授权码后,由授权码管理模块以<用户名,授权码,生成时间,存活时间>的格式保存,并启动定时器定时清理已过时的用户登录信息,同时由统一登录接口将登录信息发送到模拟登录模块,该模拟登录模块以网页形式向用户展示登录成功界面,并在登录成功界面生成数个不可见的iframe框架,在这些iframe框架中进行模拟登录;3)登录成功后,由单点登录服务器向访问代理服务器和子系统发送登录信息,登录信息包括用户信息和授权码;4)子系统收到步骤3)的登录信息并处理后,发送回复信息给访问代理服务器,访问代理服务器将子系统的回复经终端转发给用户;访问代理服务器收到登录信息后,需要对登录信息进行验证,通过验证后即将登录信息保存在子系统中,没有通过验证的返回到统一登录界面;其中,所述步骤2)的在这些iframe框架中进行模拟登录具体是:2-1)从数据库中获取用户具有访问权限的子系统信息;2-2)生成数个不可见的iframe框架,当所有iframe框架访问完成后,界面自动跳转到用户请求的URL,URL携带授权码向访问代理服务器发出请求,访问代理服务器根据请求信息,生成带有授权码信息的Cookie;2-3)带有授权码信息的Cookie是使用未加密方式获得的,需要向单点登录服务器进行下列验证:访问代理服务器使用RPC协议并加密地向授权码管理模块进行验证,当验证通过时,以<用户名,授权码,生成时间,存活时间>的格式保存,并启动定时器定时清理已过时的用户登录信息,若没有通过验证则抛弃该授权码并重定向到统一登录界面。
2.如权利要求1所述的基于面向系统集成的跨域单点登录系统进行跨域单点登录的方法,其特征在于,所述访问代理服务器通过任一编程语言实现,且不侵入子系统及其配置;访问代理服务器可以在不关闭子系统的情况下部署,部署前需要在其配置文件中配置子系统的编码、二级域名、单点登录服务地址;访问代理服务器部署后,对外公开的子系统地址就改为代理访问层地址。
3.如权利要求1所述的基于面向系统集成的跨域单点登录系统进行跨域单点登录的方法,其特征在于,所述步骤1)的免登录设置保证30天内的免登陆。
4.如权利要求1所述的基于面向系统集成的跨域单点登录系统进行跨域单点登录的方法,其特征在于,所述步骤4)的访问代理服务器收到登录信息后,需要对登录信息进行下列验证:4-1)访问代理服务器使用RPC协议以加密的方式向单点登录服务器的授权码管理模块发出验证请求;4-2)若验证通过则将登录信息保存到本机,以后的请求中授权码验证主要在本机完成;4-3)若验证不通过则跳转至统一登录界面。
5.如权利要求1所述的基于面向系统集成的跨域单点登录系统进行跨域单点登录的方法,其特征在于,所述用户通过终端访问另外的第二或第三、第四……第N个子系统时,进行下列登录:(1)用户通过终端向另外的子系统发出请求,该请求中携带授权码,由访问代理服务器首先提取该请求中的授权码,并验证该授权码的合法性;(2)授权码不合法,或者授权码不存在,需要使用RPC协议并加密地向单点登录服务器的授权码管理模块发出验证请求,验证通过后,以<用户名,授权码,生成时间,存活时间>的格式,让访问代理服务器保存该登录信息;(3)同时转发验证后的登录信息到子系统;(4)经子系统处理后,发送回复信息给访问代理服务器;若没有通过验证则将重定向到统一登录界面;(5)访问代理服务器将子系统的回复通过终端转发给用户。