这些配置参数控制 IBM® HTTP Server 中的轻量级目录访问协议 (LDAP) 功能部件。
不推荐使用的功能部件: 如果要将 mod_ibm_ldap 模块用于
LDAP 配置,请考虑迁移 mod_ibm_ldap 伪指令以使用 mod_ldap 模块。IBM HTTP
Server 的此发行版提供了 mod_ibm_ldap 模块以与先前发行版兼容,但是,您必须迁移现有配置才能使用
mod_authnz_ldap 和 mod_ldap 模块,从而确保将来支持 LDAP 配置。
depfeat
LdapCodepageDir 伪指令
代码页现在自动安装在 IHS 安装目录中,并且相对于 IHS 安装目录(而不是先前版本中已配置的服务器根目录)进行引用。
LdapConfigfile 伪指令
LdapConfigFile 伪指令用于指示与一组 LDAP 参数相关联的 LDAP 属性文件名。
伪指令 |
描述 |
语法 |
LdapConfigFile <Fully qualified path to configuration file> |
作用域 |
每个目录节一个实例 |
缺省值 |
c:\program files\ibm http server\conf\ldap.prop.sample |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
单个配置文件的标准路径。请在 httpd.conf 文件中使用此伪指令。 |
LDAPRequire 伪指令
LDAPRequire 伪指令用于将对通过 LDAP 认证控制的资源的访问权限制为指定的用户集合。它可以使用 LDAP 中通过使用组类型定义的组,或者使用 LDAP 过滤器类型来指定具有相似属性值集的用户集合。
名称 |
描述 |
语法 |
LDAPRequire filter <filter name> 或 LDAPRequire group <group1 [group2.group3....]> |
作用域 |
每个目录节一个实例 |
缺省值 |
None |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
LDAPRequire 过滤器“(&(objectclass=person)(cn=*)(ou=IHS)(o=IBM))”或 LDAPRequire 组“sample group”。 请在 httpd.conf 文件中使用此伪指令。
|
如果使用组类型且指定了多个组值,那么组验证是各组的逻辑与。如果需要组的逻辑或,那么用户必须是 sample Group1 和 sample Group2 的成员。例如,如果用户是 sample Group1 或 sample Group2 组的成员,那么应该在 LDAP 服务器上创建新的具有 sample Group1 和 sample Group2 作为其成员的 LDAP 组 our department group。然后您需要使用伪指令:LDAPRequire group our Department Group。
Ldap.application.authType 伪指令
Ldap.application.authType 伪指令指定向 LDAP 服务器认证 Web 服务器的方法。
名称 |
描述 |
语法 |
ldap.application.authType=None |
作用域 |
每个目录节一个实例 |
缺省值 |
None |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
- 无:如果 LDAP 服务器不要求认证 Web 服务器。
- 基本:使用 Web 服务器的专有名称 (DN) 作为用户标识,并使用隐藏文件中存储的密码作为密码。
|
Ldap.application.DN 伪指令
Ldap.application.DN 伪指令用于指示 Web 服务器的专有名称 (DN)。使用基本认证访问 LDAP 服务器时,请使用此名称作为用户名。请使用 LDAP 服务器中指定的条目访问目录服务器。
名称 |
描述 |
语法 |
ldap.application.DN=cn=ldapadm,ou=ihs test,o=IBM,c=US |
作用域 |
每个目录节一个实例 |
缺省值 |
None |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
专有名称 |
Ldap.application.password.stashFile 伪指令
如果服务器认证类型为“基本”,那么 Ldap.application.password.stashFile 伪指令指示隐藏文件的名称,此隐藏文件包含要向 LDAP 服务器进行认证的应用程序的加密密码。
名称 |
描述 |
语法 |
ldap.application.password.stashFile=c:\IHS\ldap.sth |
作用域 |
每个目录节一个实例 |
缺省值 |
None |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
隐藏文件的标准路径。您可以使用 ldapstash 命令创建此隐藏文件。 |
Ldap.cache.timeout 伪指令
ldap.cache.timeout 伪指令用于对来自 LDAP 服务器的响应进行高速缓存。如果您将 Web 服务器配置为作为多个进程运行,那么每个进程将管理其自己的高速缓存副本。
名称 |
描述 |
语法 |
ldap.cache.timeout= <secs> |
作用域 |
每个目录节一个实例 |
缺省值 |
600 |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
从 LDAP 服务器返回的响应保持有效的最长时间(以秒计)。 |
Ldap.group.attribute 伪指令
ldap.group.attributes 伪指令指示用于通过 LDAP 搜索确定专有名称 (DN) 是否是实际组的过滤器。
名称 |
描述 |
语法 |
ldap.group.memberattribute = <attribute> |
作用域 |
每个目录节一个实例 |
缺省值 |
uniquegroup |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
LDAP 属性 - 有关如何使用此伪指令的更多信息,请参阅 ldap.prop.sample 伪指令。 |
Ldap.group.dnattribute 伪指令
ldap.group.dnattributes 指定用于通过 LDAP 搜索确定专有名称 (DN) 是否是实际组的过滤器。
名称 |
描述 |
语法 |
ldap.group.memberattribute = <ldap filter> |
作用域 |
每个目录节一个实例 |
缺省值 |
groupofnames groupofuniquenames |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
LDAP 过滤器 - 有关如何使用此伪指令的更多信息,请参阅 ldap.prop.sample 伪指令。 |
Ldap.group.memberattribute 伪指令
ldap.group.memberattribute 伪指令指定用于从现有组中检索唯一组的属性。
名称 |
描述 |
语法 |
ldap.group.memberattribute = <ldap filter> |
作用域 |
每个目录节一个实例 |
缺省值 |
groupofnames groupofuniquenames |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
LDAP 过滤器 - 有关如何使用此伪指令的更多信息,请参阅 ldap.prop.sample 伪指令。 |
Ldap.group.memberAttributes 伪指令
ldap.group.memberAttributes 伪指令用作当函数在 LDAP 目录中找到组条目时抽取组成员的方法。
名称 |
描述 |
语法 |
ldap.group.memberAttributes= attribute [attribute2....] |
作用域 |
每个目录节一个实例 |
缺省值 |
member 和 uniquemember |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
必须等于组成员的专有名称。您可以使用多个属性以包含成员信息。 |
Ldap.group.name.filter 伪指令
ldap.group.name.filter 伪指令指示 LDAP 用于搜索组名的过滤器。
名称 |
描述 |
语法 |
ldap.group.name.filter = <group name filter> |
作用域 |
每个目录节一个实例 |
缺省值 |
(&(cn=%v1) (|(objectclass=groupOfNames) (objectclass=groupOfUniqueNames)) |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
LDAP 过滤器。请参阅“使用 LDAP 搜索过滤器查询 LDAP 服务器”。 |
Ldap.group.search.depth 伪指令
ldap.group.search.depth 伪指令用于在指定 LDAPRequire group <group> 伪指令时搜索子组。组可以包含各个成员和其他组。
名称 |
描述 |
语法 |
ldap.group.search.depth = <integer depth> |
作用域 |
每个目录节一个实例 |
缺省值 |
1 |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
整数。对组执行搜索时,如果认证过程中的成员不是必需组的成员,那么还会搜索必需组的所有子组。例如:group1 >group2 (group2 is a member of group1)
group2 >group3 (group3 is a member of group2)
group3 >jane (jane is a member of group3)
如果搜索 jane 并要求她是 group1 的成员,那么使用 ldap.search.depth 缺省值 1 的搜索将失败。如果指定 ldap.group.search.depth>2,那么搜索将成功。
使用 ldap.group.search.depth=<depth to search -- number> 来限制子组搜索深度。在 LDAP 服务器上,这种类型的搜索可能会耗用大量资源。其中,group1 以 group2 作为成员,而 group2 以 group1 作为成员,此伪指令限制搜索深度。在上一示例中,group1 的深度为 1,group2 的深度为 2,而 group3 的深度为 3。
|
Ldap.group.URL 伪指令
ldap.group.URL 伪指令用于为同一 LDAP 服务器上的组指定不同位置。您不能使用此伪指令指定与 ldap.URL 伪指令中指定的 LDAP 服务器不同的 LDAP 服务器。
名称 |
描述 |
语法 |
ldap.group.URL = ldap://<hostname:port>/<BaseDN> |
作用域 |
每个目录节一个实例 |
缺省值 |
None |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
- host name:LDAP 服务器的主机名。
- port number:LDAP 服务器侦听的可选端口号。对于 TCP 连接,缺省值为 389。如果使用 SSL,那么必须指定端口号。
- BaseDN:提供 LDAP 树的根,在其中执行对组的搜索。
|
注意:
如果组的 LDAP URL 与 ldap.URL 属性指定的 URL 不同,那么此属性是必需属性。
Ldap.idleConnection.timeout 伪指令
ldap.idleConnection.timeout 伪指令用于对与 LDAP 服务器的连接进行高速缓存以提高性能。
名称 |
描述 |
语法 |
ldap.idleConection.timeout = <secs> |
作用域 |
每个目录节一个实例 |
缺省值 |
600 |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
空闲 LDAP 服务器连接由于不活动而关闭之前所经过的时间(以秒计)。 |
Ldap.key.file.password.stashfile 伪指令
ldap.key.file.password.stashfile 伪指令指示包含加密密钥文件密码的隐藏文件;使用 ldapstash 命令可以创建此隐藏文件。
名称 |
描述 |
语法 |
ldap.key.file.password.stashfile =d:\ <Key password file name> |
作用域 |
每个目录节一个实例 |
缺省值 |
None |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
隐藏文件的标准路径。 |
Ldap.key.fileName 伪指令
ldap.key.fileName 伪指令指示密钥文件数据库的文件名。如果您使用安全套接字层 (SSL),那么此选项是必需选项。
名称 |
描述 |
语法 |
ldap.key.fileName=d:\<Key file name> |
作用域 |
每个目录节一个实例 |
缺省值 |
None |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
密钥文件的标准路径。 |
Ldap.key.label 伪指令
ldap.key.file.password.stashfile 伪指令指示 Web 服务器用于向 LDAP 服务器进行认证的证书标签名称。
名称 |
描述 |
语法 |
My Server Certificate |
作用域 |
每个目录节一个实例 |
缺省值 |
None |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
密钥数据库文件中使用的有效标签。仅当使用安全套接字层 (SSL) 并且 LDAP 服务器请求从 Web 服务器进行客户机认证时,此标签才是必需的。 |
LdapReferralhoplimit 伪指令
LdapReferralHopLimit 伪指令指示要遵循的引用的最大数目。如果超过了指定的限制,那么 LDAP 认证将失败。
名称 |
描述 |
语法 |
LdapReferralHopLimit = <number_of_hops> |
作用域 |
每个目录节一个实例 |
缺省值 |
10 |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
0 到 10 |
将 LdapReferrals 伪指令设置为
on 以使用 LdapReferralhoplimit 伪指令。
要点: 如果 LdapReferralhoplimit 的值为 0,那么遇到任何引用都会导致认证失败。
如果 LdapReferrals 伪指令为 off(缺省值),那么 LdapReferralhoplimit 伪指令没有任何意义。
LdapReferrals 伪指令
LdapReferrals 伪指令指示在执行 LDAP 查询时是否将获取引用(将客户机请求重定向至另一 LDAP 服务器)以进行搜索。
名称 |
描述 |
语法 |
LdapReferrals = off | on |
作用域 |
每个目录节一个实例 |
缺省值 |
off |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
On 或 off |
Ldap.realm 伪指令
ldap.key.realm 伪指令指示请求客户机所看到的受保护区域的名称。
名称 |
描述 |
语法 |
ldap.realm=<Protection Realm> |
作用域 |
每个目录节一个实例 |
缺省值 |
None |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
对受保护页面的描述。 |
Ldap.search.timeout 伪指令
ldap.search.timeout 伪指令指示等待 LDAP 服务器完成搜索操作所需的最长时间(以秒计)。
名称 |
描述 |
语法 |
ldap.search.timeout = <secs> |
作用域 |
每个目录节一个实例 |
缺省值 |
10 |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
时间长度(以秒计)。 |
Ldap.transport 伪指令
ldap.transport 伪指令指示用于与 LDAP 服务器通信的传输方法。
名称 |
描述 |
语法 |
ldap.transport = TCP |
作用域 |
每个目录节一个实例 |
缺省值 |
TCP |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
TCP 或 SSL |
Ldap.url 伪指令
ldap.url 伪指令指示要对其执行认证的 LDAP 服务器的 URL。
名称 |
描述 |
语法 |
ldap.url = ldap://<hostname:port>/<BaseDN>
|
作用域 |
每个目录节一个实例 |
缺省值 |
None |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
Ldap.user.authType 伪指令
ldap.usr.authType 伪指令指示对请求 Web 服务器的用户进行认证的方法。访问 LDAP 服务器时,请使用此名称作为用户名。
名称 |
描述 |
语法 |
ldap.user.authType = BasicIfNoCert |
作用域 |
每个目录节一个实例 |
缺省值 |
基本 |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
Basic、Cert 和 BasicIfNoCert |
Ldap.user.cert.filter 伪指令
ldap.usr.cert.filter 伪指令指示过滤器,该过滤器用于将通过安全套接字层 (SSL) 传递的客户机证书中的信息转换为 LDAP 条目的搜索过滤器。
名称 |
描述 |
语法 |
ldap.user.cert.filter=(&(objectclass=person)(cn=%v1)) |
作用域 |
每个目录节一个实例 |
缺省值 |
“(&(objectclass=person) (cn=%v1, ou=%v2, o=%v3,c=%v4))” |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
LDAP 过滤器。请参阅“使用 LDAP 搜索过滤器查询 LDAP 服务器”。 |
安全套接字层 (SSL) 证书包含下列字段,所有这些字段都可以转换为搜索过滤器:
证书字段 |
变量 |
公共名 |
%v1 |
组织单元 |
%v2 |
组织 |
%v3 |
国家或地区 |
%v4 |
区域 |
%v5 |
省/自治区/直辖市或国家/地区 |
%v6 |
序列号 |
%v7 |
生成搜索过滤器时,您可以在匹配变量字段(%v1 和 %v2)中查找字段值。下表显示了转换:
用户证书 |
过滤器转换 |
证书 |
cn=Road Runner, o=Acme Inc, c=US |
过滤器 |
(cn=%v1, o=%v3, c=%v4) |
生成的查询 |
(cn=RoadRunner, o=Acme, Inc, c=US) |
Ldap.user.name.fieldSep 伪指令
将用户名解析到字段中时,ldap.usr.name.fieldSep 伪指令以有效的字段分隔符形式指示字符。
名称 |
描述 |
语法 |
ldap.user.name.fieldSep=/ |
作用域 |
每个目录节一个实例 |
缺省值 |
空格、逗号和制表符 (/t)。 |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
字符。如果“/”只表示字段分隔符且用户输入“Joe Smith/Acme”,那么“%v2”等于“Acme”。 |
Ldap.user.name.filter 伪指令
ldap.usr.name.filter 伪指令指示用于转换 LDAP 条目的搜索过滤器中所输入用户名的过滤器。
名称 |
描述 |
语法 |
ldap.user.name.filter=<user name filter> |
作用域 |
每个目录节一个实例 |
缺省值 |
“((objectclass=person) (cn=%v1 %v2))”,其中 %v1 和
%v2 表示用户输入的字符。 例如,如果用户输入“Paul Kelsey”,那么生成的搜索过滤器将为 "((objectclass=person)(cn=Paul Kelsey))"。您可以查找“使用 LDAP 搜索过滤器查询 LDAP 服务器”中描述的搜索过滤器语法。
但是,由于 Web 服务器无法对返回的多个条目进行区分,当 LDAP 服务器返回多个条目时,认证将失败。例如,如果用户指定 ldap.user.name.filter=“((objectclass=person)(cn=%v1* %v2*))”并输入 Pa Kel,那么生成的搜索过滤器将为“(cn=Pa* Kel*)”。该过滤器将找到多个条目,例如 (cn=Paul Kelsey) 和 (cn=Paula Kelly),并且认证将失败。必须修改您的搜索过滤器。
|
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
LDAP 过滤器。请参阅“使用 LDAP 搜索过滤器查询 LDAP 服务器”。 |
Ldap.version 伪指令
ldap.version 伪指令指示用于连接到 LDAP 服务器的 LDAP 协议的版本。LDAP 服务器使用的协议版本确定 LDAP 版本。
注意: 此伪指令是可选的。
名称 |
描述 |
语法 |
ldap.version=3 |
作用域 |
每个目录节一个实例 |
缺省值 |
ldap.version=3 |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
2 或 3 |
Ldap.waitToRetryConnection.interval 伪指令
ldap.waitToRetryConnection.interval 伪指令指示 Web 服务器在两次尝试连接但失败之间等待的时间。
如果 LDAP 服务器关闭,那么 Web 服务器将继续尝试连接。
名称 |
描述 |
语法 |
ldap.waitToRetryConnection.interval=<secs> |
作用域 |
每个目录节一个实例 |
缺省值 |
300 |
模块 |
mod_ibm_ldap |
配置文件中的多个实例 |
是 |
值 |
时间(以秒计) |