`
xp84012493
  • 浏览: 59245 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

LDAP 统一认证 单点登录学习

阅读更多

LDAP服务的优势

大多数的LDAP都为读密集性的操作进行专门的优化。因此,当从LDAP服务器中读取数据时比从关系型数据库读取数据快一个数量。LDAP的优势还在于,可以在任何系统平台上,很容易定制应用程序为它加上LDAP的支持。LDAP协议是跨平台的和标准的协议,应用程序不用关心LDAP目录放在什么服务器上。

 

SOAP的优势

SOAP是一种新的软件通信技术,它把成熟的基于HTYP的Web技术与XML的灵活性和可扩展性组合在一起,使现有软件不论是基于什么样的编程模型都可以通过因特网通信。基于XML技术的SOAP协议由于其自身的简单、开放、可扩展、与实现无关等优越性具有很强的生命力。

 

统一身份认证系统模型

用户首先通过客户端应用程序登录用户登录子系统(可以视为SSO单点登录服务,实现方法有很多,慢慢学),再通过身份认证接口向统一身份认证平台(LDAP)提出认证请求,统一身份认证平台对请求内容进行解析和实施访问控制,查询LDAP数据库中的用户身份信息和权限信息,进行身份识别和授权访问,将认证结果信息返回

至统一身份认证平台和登录系统,对用户的登录请求作出接受或拒绝的响应。

 

统一身份认证服务的实现1:

   该系统的功能是建立一个能够服务于所有应用系统的统一的身份认证系统,每个应用系统都通过该认证系统来进行用户的身份认证,而不再需要开发各自独立的用户认

证模块。同时,由“统一身份认证服务”来实现统一的用户认证机制,即统一从已建立的LDAP目录服务器中查询用户认证信息,然后按照统一的认证规则进行校验,从

而提高了系统的整体安全性。

 

认证过程可分为以下几个步骤:

     第一步:当用户首次登录一个应用系统时,该应用系统应自动将用户浏览器重定向到“统一身份认证服务” 的登录页面。接着, “统一身份认证服务” 根据用户填写的登录信息从LDAP目录服务器中检索该用户的相关认证信息并进行校验。若校验失败,该用户将被拒绝进入应用系统;若校验成功,用户浏览器会自动返回到最初登录的应用系统。

     为了使“统一身份认证服务” 能够自动返回到应用系统,在重定向到“统一身份认证服务”的登录页面时,还需要传递service参数(我觉得用WebService开发,可以直接作为参数传递),service参数值就是用户最初登录的应用系统的链接地址,这样,“统一身份认证服务”在校验成功后就可以按照service参数值返回到应用系统。

 

第二步:若认证成功,“统一身份认证服务”会自动返回到用户最初登录的应用系统,同时会传递ticket参数。ticket参数值是由“统一身份认证服务”自动创建的随机字符串。(我理解为令牌是加在URL中的,可以考虑用session,但是用应用服务器的还是用登录服务器的session呢?)ticket值是与当前已成功认证的用户名绑定

的。例如:用户zhangsh要登录应用系统S,若认证成功,则“统一身份认证服务”会创建一个ticket参数T,T表示只允许用户zhangsh访问应用程序S,而且这个ticket参数使用一次后即作废。

 

第三步:应用系统在收到ticket参数值后还需要校验收到的ticket参数值的真伪, 目的是防止某些用户伪造ticket参数值来非法登录。具体校验方法是向“统一身份认证服务”传递service参数和ticket参数。传递的service参数值与第一步中介绍的完全一样, 目的也是为了让“统一身份认证服务”在校验成功后就可以按照service参数提供的链接地址返回应用系统ticket参数值就是应用系统刚才收到的ticket参数值,原封不动地传递回去即可。但为了提高响应速度,这次参数传递的过程不再使用将用户浏览器重定向到“统一身份认证服务”的方法,而是用Socket(套接字)直接建立http连接。“统一身份认证服务”会将收到的ticket参数值与先前自己创建的ticket参数值进行比较,若不匹配,则说明传递的ticket参数值系伪造,该用户将被拒绝进入应用系统;若匹配,则“统一身份认证服务”返回一个http应答消息,在应

答主体中只有一行信息:通过身份验证的用户名。与此同时,统一身份认证服务必须立即销毁先前创建的ticket参数值,以防被重复使用。

 

我的心得:登录服务器接到验证请求后得到一个session_ID(当前会话的),在LDAP通过验证后,至少应该保存好这个Session_ID和应用系统的ID,这个可以通过数据库,也可以直接通过Session、cookie方式,简单一点:session变量名为应用ID,session值为session_ID,将session_ID+用户ID以某种组合形式发送给应用系统服务器,应用服务器建立本地已成功登录的session,显示页面。考虑到session_ID是以明码方式加在URL中返回给应用服务器的,为了防止伪造的令牌,需要在建立本地成功登录session前,再一次通过登录服务器,验证令牌的真伪,即不需要发送密码(用户ID这时候应该通过session保留了,不需要再次发送),只需要发送应用ID和令牌中分析出来的session_ID,和登录服务器保存的session比较,匹配成功后发挥应答信息(可是怎么保证该应答信息不被伪造呢?)

分享到:
评论

相关推荐

    基于LDAP协议的单点登录系统的研究与设计

    基于LDAP的单点登录系统,能够提供统一的用户身份验证和管理,大大简化用户的登录过程,同时增强系统的安全性。 在设计基于LDAP协议的单点登录系统时,需要考虑以下技术知识点: 1. LDAP协议技术原理:LDAP协议...

    JAVA中使用LDAP进行用户认证

    JAVA中使用LDAP进行用户认证 JAVA中使用LDAP进行用户认证是指在JAVA应用程序中使用轻量级目录访问协议(LDAP)来进行用户身份验证。LDAP是一种基于X.500标准的目录访问协议,但它更简单、更灵活,可以根据需要进行...

    LDAP单点登录

    **LDAP单点登录** LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,用于在分布式环境中存储和检索信息。在IT行业中,LDAP被广泛应用于用户身份验证和权限管理,尤其是在大型企业或组织中...

    基于LDAP的单点登录方案的设计与实现

    (3)校园学生信息管理系统:配合实现单点登录的子系统。系统管理员负责对学生信息增、删、查、改等维护工作。 (1)实现网络的身份管理,为网络用户提供唯一的账号; (2)统一的登录门户,不同的用户界面,不同的...

    基于LDAP的CAS单点登录系统设计和实现

    基于LDAP的CAS单点登录系统是一种高效的身份验证和授权解决方案,尤其适用于拥有多个独立应用系统的大型组织。该系统设计旨在解决用户在不同应用间频繁登录的问题,提高用户体验并简化系统管理。 LDAP(轻量级目录...

    CAS整合LDAP实现单点登录学习笔记.doc

    通过以上步骤,我们可以实现CAS与LDAP的整合,从而在单点登录的基础上,利用LDAP的用户管理能力,构建出安全且高效的用户认证系统。这个过程虽然涉及多个环节,但是一旦配置完成,将极大地提升系统的可维护性和用户...

    CAS整合LDAP实现单点登录学习笔记.pdf

    ### CAS整合LDAP实现单点登录的关键知识点 #### 一、单点登录(SSO)概念解析 单点登录(Single Sign-On, SSO)是一种身份验证机制,它允许用户使用一组凭证(例如用户名和密码)登录一次后即可访问多个应用程序而无需...

    基于LDAP的统一用户认证系统设计与实现.pdf

    通过利用LDAP技术构建统一的身份认证平台,可以有效地实现用户身份的统一认证、单点登录、集中鉴权以及对网络应用资源的统一管理等功能,进而提升用户体验,简化管理流程,增强系统的整体安全性和稳定性。

    Web Service和LDAP相结合 分布式用户认证为单点登录护航.pdf

    Web Service和轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)相结合的方案,为实现分布式用户认证和单点登录提供了有效的技术支持。 ### Web Service和LDAP相结合的分布式用户认证 LDAP是一...

    基于LDAP统一用户管理系统的研究与应用

    《基于LDAP统一用户管理系统的研究与应用》 在信息化时代的今天,用户管理是企业信息系统的核心环节。随着企业IT架构的日益复杂,多应用系统的并存使得用户管理变得愈发困难。为了解决这一问题,基于LDAP...

    Spring Boot中使用LDAP来统一管理用户信息的示例

    Spring Boot 中使用 LDAP 统一管理用户信息的示例 本篇文章主要介绍了 Spring Boot 中使用 LDAP 来统一管理用户信息的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。下面我们将详细介绍 LDAP 的基础...

    基于python的统一身份认证授权管理解决方案,支持多种标准协议(LDAP, OAuth2, SAML, OpenID)

    SAML常用于企业级单点登录(SSO)系统,让用户在访问多个关联应用时只需登录一次。 4. OpenID:这是一个开放的标准,允许用户使用一个中央身份提供商来登录到多个网站,避免了在每个网站上创建和管理独立账户的麻烦...

    LifeRay+CAS+LDAP+Tomcat 单点登录门户.pdf

    【LifeRay+CAS+LDAP+Tomcat 单点登录门户】是一种常见的企业级身份验证解决方案,它结合了多个组件来实现高效、安全的用户登录管理。在这个架构中,LifeRay 是一个开源的内容管理系统,用于构建企业门户;CAS...

    LDAP的研究及其在统一身份认证系统中的应用

    4. **单点登录**:LDAP支持的单点登录功能允许用户在一个地方完成身份验证后,无需再次登录即可访问其他授权系统。 #### 结论 综上所述,LDAP作为一种成熟且高效的身份管理工具,在构建统一身份认证系统中发挥着至...

    统一认证和单点登陆.doc

    统一认证和单点登录是现代企业信息化建设中的关键组成部分,旨在提高安全性、便捷性和效率。这一技术通过建立统一的身份认证体系,确保用户只需要一次登录,就能访问多个相互关联的应用系统和资源,降低用户记忆多套...

    LDAP中文学习手册

    6. **集成应用**:讲解如何将LDAP与各种应用程序和服务集成,例如邮件系统、Web服务器、网络设备等,实现单点登录(SSO,Single Sign-On)和统一身份管理。 7. **备份与恢复**:学习如何备份和恢复LDAP数据,以防止...

Global site tag (gtag.js) - Google Analytics