一种基于ldap服务的单点登录实现方法

文档序号:6433977阅读:1478来源:国知局
专利名称:一种基于ldap服务的单点登录实现方法
技术领域
本发明涉及一种单点登录的实现方法,主要应用于LDAP服务上的单点登录的实现方法。
背景技术
目前在很多企业内部,一般都有很多的业务支持系统为其提供相应的管理和IT 服务。例如财务系统为财务人员提供财务的管理、计算和报表服务;人事系统为人事部门提供全公司人员的维护服务;各种业务系统为公司内部不同的业务提供不同的服务等等。这些系统的目的都是让计算机来进行复杂繁琐的计算工作,来替代人力的手工劳动,提高工作效率和质量。这些不同的系统往往是在不同的时期建设起来的,运行在不同的平台上;也许是由不同厂商开发,使用了各种不同的技术和标准。这给企业内部的管理和交流带来困难,这种情况其实非常普遍。更进一步,每一个应用系统在运行了数年以后,都会成为不可替换的企业内部管理架构的一部分,随着企业的发展,业务系统的数量在不断的增加,需要维护的系统越来越多。不同系统之间常常需要独立进行登录,每个单独的系统都会有自己的安全体系和身份认证系统。整合以前,进入每个系统都需要进行登录,这样的局面不仅给管理上带来了很大的困难,在安全方面也埋下了重大的隐患;也无法实现信息的多方面交流。因此人们研制了跨域名单点登录系统,例如专利申请20081014M44. 3提出了一种跨域名单点登录的实现方法,以解决这些问题,而目前单点登录的普遍实行基本方式如下数据库维护系统A和系统B的用户存在对应关系,用户登入系统A后,请求访问系统B,系统B验证系统A的用户是否同时是系统B的用户。这种实现方式的缺点如下需要维护系统A和系统B的用户对应关系;从系统A访问系统B,仅仅是验证用户名,存在非法登录系统B的风险;用户数据保存在某一数据库(如 ORACLE)中,不利于使用其它数据库(如MySQL)的系统的访问。

发明内容
本发明的目的是提供一种基于LDAP服务的单点登录实现方法,该方法可实现基于LDAP服务的单点登录,且该方法安全可靠,能够保证用户和系统的安全。本发明的再一个目的是提供一种基于LDAP服务的单点登录实现方法,该方法能够便于对多个数据库同时访问。为此,本发明的实现方法包括如下步骤。1、发送用户ID和密码到系统一;
2、系统一发送用户ID和密码到LDAP服务器进行认证;
3、LDAP服务器进行认证并返回认证信息(ticket),登录系统一;
4、若要登录系统二,发送用户ID和认证信息到LDAP服务器进行认证;
5、然后返回认证信息给系统二,登录系统二。
Ticket的生成方式为
A、用户ID和当前时间值(最好精确到毫秒)组成字符串S;
B、对字符串S进行UTF-8的Base64编码形成ticket。所述的步骤3中,LDAP服务器根据用户ID和时间戳生成ticket,并将ticket保存在LDAP服务器中和返回ticket到系统一,系统一把接收到的ticket以及用户ID保存在 session 中。所述步骤4中,当用户在系统一中需要访问系统二时,则发送带有EI用户ID 和ticket的请求发送到系统二,系统二从系统一的请求中取得用户ID和ticket,并把用户ID和ticket发送到LDAP服务器进行验证,验证通过后,允许用户从系统一直接访问系统二,在进入系统二之后,系统二与系统一一样,也把用户ID和ticket保存在session中, 以便从系统二访问其它系统时使用。所述若用户从系统一或系统二退出时,session则被清空失效。若用户登录在系统一和系统二后,用户退出系统一时,系统一中的session被清空失效,系统二中依然还储存有session,系统二的登录依然有效。若用户登录其它的系统三、系统四,则重复步骤4 一 5。若用户登录在系统一和系统二后,再登录系统三,系统三可以从系统一或系统二获取用户ID和ticket,并把用户ID和ticket发送到LDAP服务器进行验证,验证通过后, 直接从系统一或系统二登录系统三。若用户重新使用用户ID和密码登录系统一或系统二时,则重新根据用户ID和时间戳生产新的ticket。按照上述方法,在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,比如在电子政务、企业管理等领域。其应用方式如下
1、用户访问系统一首页,
2、用户输入用户名和密码,并提交到LDAP服务器,
3、LDAP服务器验证通过,
4、用户进入系统一,
5、用户从系统一直接访问系统二。本发明所达到的技术效果为1、用户信息统一保存在LDAP服务器中,不必维护系统A和系统B的用户对应关系,且可适应于使用任何数据库的应用系统。2、以根据用户ID和时间戳生成的ticket为单点登录通行证,避免了非法登录系统B的风险。


图1本发明的用户认证框图。图2为本发明登录认证互流程图。
具体实施例方式下面结合附图,对本发明的实现做进一步说明。 如图1所示,为用户认证框图。用户第一次访问外部应用系统(包括有多个具体的应用系统)的时候,因为还没有登录,会被引导到认证系统中进行验证再登录;如果通过效验,LDAP服务器会返回给用户一个认证的凭据一一 ticket。当用户再访问其它的应用系统的时候,用户会将这个ticket带上,作为自己认证的凭据,应用系统会发送用户ID和这个ticket到LDAP进行验证,如果通过效验,用户就可以在不用再次登录的情况下访问其它的应用系统。从图2可以看出,要实现单点登录,其主要的实现步骤为 1、用户访问系统一首页。2、用户输入用户ID和密码,并提交到LDAP服务器进行验证。3、LDAP服务器验证用户ID和密码,验证通过后,LDAP服务器根据用户ID和时间戳生成ticket,并将ticket保存在LDAP服务器中和返回ticket到系统一,系统一把接收到的ticket保存在session中。4、系统一接收到验证通过信息和ticket后,进入系统一。5、若要登录系统二,则系统一发送带有用户ID和ticket的请求到系统二。6、系统二从系统一的请求中取得用户ID和ticket,并发送用户ID和认证信息到 LDAP服务器进行认证。7、LDAP服务器认证后,返回验证成功的信息给系统二,则用户可通过系统一可以直接登录系统二,在进入系统二之后,系统二也将用户ID和ticket储存在session中以便从系统二访问其它系统时使用。若用户在登录系统一后,再登录系统二和系统三,只通过验证用户ID和ticket即可实现系统二和系统三的登录;但是当用户从系统二或系统三访问系统一时,在用户登录系统一的情况下,仍然要进行ticket和用户ID的认证。在退出系统二和系统三后,系统二和系统三会清空session中的用户ID和ticket。以上所述仅为本发明的较佳实施案例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于LDAP服务的单点登录实现方法,其特征在于该方法包括如下步骤1)、发送用户ID和密码到系统一;2)、系统一发送用户ID和密码到LDAP服务器进行认证;3)、LDAP服务器进行认证并返回认证信息(ticket),登录系统一;4)、若要登录系统二,发送用户ID和认证信息到LDAP服务器进行认证;5)、然后返回认证信息给系统二,登录系统二。
2.如权利要求1所述的基于LDAP服务的单点登录实现方法,其特征在于所述的步骤 3)中,LDAP服务器根据用户ID和时间戳生成ticket,并将ticket保存在LDAP服务器中和返回ticket到系统一,系统一把接收到的ticket以及用户ID保存在session中。
3.如权利要求1所述的基于LDAP服务的单点登录实现方法,其特征在于所述步骤4) 中,当用户在系统一中需要访问系统二时,则发送带有用户ID和ticket的请求发送到系统二,系统二从系统一的请求中取得用户ID和ticket,并把用户ID和ticket发送到LDAP 服务器进行验证,验证通过后,允许用户从系统一直接访问系统二。
4.如权利要求1所述的基于LDAP服务的单点登录实现方法,其特征在于所述若用户从系统一或系统二退出时,session则被清空失效。
5.如权利要求1所述的基于LDAP服务的单点登录实现方法,其特征在于若用户登录其它的系统三、系统四,则重复步骤4) - 5)。
6.如权利要求1所述的基于LDAP服务的单点登录实现方法,其特征在于若用户重新使用用户ID和密码登录系统一或系统二时,则重新根据用户ID和时间戳生产新的ticket。
7.如权利要求1所述的基于LDAP服务的单点登录实现方法,其特征在于Ticket的生成方式为A、用户ID和当前时间值(最好精确到毫秒)组成字符串S;B、对字符串S进行UTF-8的Base64编码形成ticket。
8.如权利要求1所述的基于LDAP服务的单点登录实现方法,其特征在于若用户登录在系统一和系统二后,再登录系统三,系统三可以从系统一或系统二获取用户ID和ticket, 并把用户ID和ticket发送到LDAP服务器进行验证,验证通过后,直接从系统一或系统二登录系统三。
全文摘要
本发明是一种基于LDAP服务的单点登录实现方法,该方法通过发送用户ID和密码到系统一,系统一发送用户ID和密码到LDAP服务器进行认证,LDAP服务器进行认证并返回认证信息(ticket),登录系统一,若要登录系统二,发送用户ID和认证信息到LDAP服务器进行认证;认证后返回认证信息给系统二,登录系统二。该方法可实现基于LDAP服务的单点登录,且该方法安全可靠,能够保证用户和系统的安全。
文档编号G06F17/30GK102299805SQ201110285429
公开日2011年12月28日 申请日期2011年9月23日 优先权日2011年9月23日
发明者冯剑, 周宏江 申请人:深圳市华波美通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1