IBM HTTP Server 支持轻量级目录访问协议 (LDAP) 的使用,LDAP 是在 TCP 或 SSL 的连接上提供对 X.500 目录访问的协议。LDAP 允许您在目录服务中存储信息,并以数据库方式查询它。当您使用 X.500 目录和 LDAP 时, 任何启用的 LDAP 应用程序都可以存一次信息,如用户认证信息,而且使用 LDAP 服务器的其它应用程序也将识别该信息。
LDAP 通过仅包含原始 X.500 目录访问协议 (DAP) 的功能子集来减少必需系统资源。
IBM HTTP Server LDAP 支持具有最大限度的可伸缩性。您选择的 LDAP 配置包含:
本书假设您有一个可用的现有 X.500 目录服务,例如 IBM SecureWay X.500 目录。
X.500 是带有提供更有效检索功能组件的目录服务。LDAP 使用了其中的两个组件: 信息模型,它确定了格式和字符,而名称空间则使得可以索引和引用信息。
X.500 目录结构不同于其它信息的存储和检索方式。它的信息与属性相关联。生成一个基于属性的查询,并被发送到 LDAP 服务器,而服务器则返回各自的值。LDAP 使用一种简单的、基于字符串的方法来表示目录条目。
一个 X.500 目录由条目组成,而这些条目根据 ObjectClass 属性被分类。每个条目由属性组成。ObjectClass 属性标识了条目类型(例如:个人或组织)而这些条目则确定了哪些属性是必需的,哪些属性是可选的。
排列在树状结构中的条目可以在地理和组织分发的服务器中分配。它们按照在分发层中的位置通过专有名称 (DN) 来命名。
访问 X.500 目录需要特定的协议,例如目录访问协议 (DAP)。然而,DAP 需要大量的系统资源和支持机制来处理复杂的协议。此处引入 LDAP 以使桌面工作站访问 X.500。
LDAP 基于客户机/服务器,许多 DAP 客户机必需重要资源交由 LDAP 服务器处理。LDAP 服务器只能向客户机返回结果或错误,而很少从客户机请求什么。如果 X.500 服务器无法回答客户机的请求,则它必须将请求链接到另一个 X.500 服务器。而服务器则必须完成请求或将错误返回给 LDAP 服务器, 该服务器将按序将信息传递给客户机。LDAP(轻量级目录访问协议)是一个信息目录,在该目录中只可一次定义用户和组,并跨多个应用程序甚至跨多台计算机共享。IBM HTTP Server LDAP 插件允许目录执行认证和授权(当访问受保护资源时是必需的),从而大大减少为维护每个 Web 服务器的本地用户和组信息的管理开销。
LDAP 通过使用人类可读的字符串来访问 X.500 目录。当这些查询字符串被传送到 LDAP 服务器时,该服务器将返回条目的专有名称。
LDAP 条目由 ObjectClass 属性进行分类或归类,以简化搜索。例如,您可以搜索 objectclass=acl 的 LDAP 目录,以定位所有访问控制表的条目。
LDAP 条目的搜索过滤器具有以下结构:
要获取更多关于 LDAP 搜索过滤器的信息,请参阅 RFC 1960。
Joe Smith
Joe Schmoe Adam Fosset 除了 Jane Doe 以外的任何名称
Peter Johnson Davey Johnson
University of North Carolina Chapel Hill University of South Carolina
注: | LDAP 可返回多个条目。然而,当返回多个的条目时,Web 服务器将不会认证。如果 University of North Carolina 和 University of South Carolina 包括在此示例所查询的目录中,它们都会被返回,认证将告失败。这样就必须改变过滤器。 |
在“认证领域名”字段中输入目录的认证领域名。
要通过组来定义:
LDAPRequire group "group_name"
示例:LDAPRequire group "Administrative Users"
要通过过滤器来定义:
LDAPRequire filter "ldap_search_filter"
示例:LDAPRequire filter "(&(objectclass=person)(cn=*)(ou=IHS)(o=IBM))"
注:仅可使用手工插入到 httpd.conf 中的 LDAPRequire。