上一主题: 在 realms.xml 中配置 LDAP 身份验证下一主题: 具有不同证书的多个 LDAP 服务器的 realms.xml 语法


启用 LDAP 身份验证的 realms.xml 语法

以下是用于配置启用 LDAP 的安全领域的示例 realms.xml 语法。

<?xml version="1.0" encoding="UTF-8"?>
<realms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="0.1" xsi:noNamespaceSchemaLocation="realms0.1.xsd">
 
    <realm active="true" descriptor="LDAP Realm" id="LDAP">    
        <!-- 为远程 LDAP 服务器设置 URL。    -->
        <!-- url 的格式为:ldap://server:port -->
        <property name="url">
            <value>ldap://myActiveDirectoryServer.mydomain.com:389</value>
        </property> 
        <!-- 指示是否使用 SSL 连接到远程 LDAP 服务器。 -->
        <property name="useSSL">
            <value>false</value>
        </property>
        <!-- 可将 bindName 设置为一个名称或一个空字符串;    -->
        <!-- 或者可将其注释掉。 如果指定名称,      -->
        <!-- 则将使用它绑定到 LDAP 服务器。 如果未指定  -->
        <!-- 名称(空字符串)或属性本身     -->
        <!-- 已被注释掉,则会发生匿名绑定。        -->
        <property name="bindName">
            <value>CN=Automatic Binding User,OU=Groups,DC=myDomain,DC=com</value>
        </property>
        <!-- 如果进行匿名绑定,则将忽略 bindPassword -->
        <!-- 属性。 否则,该属性会       -->
        <!-- 设置绑定到 LDAP 服务器时要使用的密码。     -->
        <property name="bindPassword">
            <value>secretPassword</value>
        </property>
        <!-- 如果 bindPassword 是纯文本,则设置为 true -->
        <!-- 如果 plainTextPasswords 设置为 true,企业管理器将覆盖该文件, -->
        <!-- 对密码进行加密并将 plainTextPasswords 设置为 false -->
        <!-- 该属性是可选属性 -->
        <!-- 默认值为 true -->
        <property name="plainTextPasswords">
            <value>true</value>
        </property>
        <!-- 设置进行绑定时要使用的身份验证类型。   -->
        <!-- 有效值:none|simple|Digest-MD5                  -->
        <!-- 请注意,在 Introscope 8.0 中,DIGEST-MD5 支持已替换为 -->
        <!-- Digest-MD5 支持。                     -->
        <property name="bindAuthentication">
            <value>simple</value>
        </property>
        <!-- 可将 nameSuffix 设置为一个后缀或空字符串;   -->
        <!-- 或者可将其注释掉。 如果定义了后缀,      -->
        <!-- 则在处理 LDAP 查询时会将该值   -->
        <!-- 附加到 Introscope 用户名后面。 如果未指定    -->
        <!-- 后缀(空字符串)或属性本身     -->
        <!-- 已被注释掉,则不会向用户名 -->
        <!-- 附加名称后缀。                                        -->        
     <!--
        <property name="nameSuffix">
            <value>@dev.com</value>
        </property>
     -->
        <!-- 为所有用户对象查询设置基本 DN。 -->
        <property name="baseDN">
            <value>DC=myDomain,DC=com</value>
        </property>
        <!-- 设置查询用户对象时的搜索深度。 -->        
        <!-- 有效值:onelevel|subtree                        -->
        <property name="scopeDepth">
            <value>subtree</value>
        </property>
        <!-- 设置 LDAP 属性的名称      -->
        <!-- 该名称将与一个 Introscope 用户名匹配。 -->        
        <property name="usernameAttribute">
            <value>cn</value>
        </property>
        <!-- 设置用来查询用户对象的“LDAP 搜索筛选”。  -->
        <!-- 在执行查询之前,令牌“%u”和“{0}”(无引号)将   -->
        <!-- 使用 Introscope 用户名进行填充。                     -->
        <!-- 必须对查询中的所有 XML 特殊字符进行转义:           -->
        <!--   使用 &amp; 表示与号 &                            -->
        <!--   使用 &lt; 表示左尖括号(“小于”)字符        -->
        <!--   使用 &gt; 表示右尖括号(“大于”)字符    -->
        <!--   使用 &quot; 表示引号 "                       -->
        <!--   使用 &apos; 表示撇号 '                          -->
        <property name="userObjectQuery">
            <value>(&(objectClass=organizationalPerson)(cn={0}))</value>
        </property>
        <!-- (可选)设置 LDAP 属性的名称  -->
        <!-- 以用作组名称。                      -->  
    <!--  
        <property name="groupNameAttribute">
           <value>cn</value>
        </property>
    -->
        <!-- (可选)设置搜索筛选以与成员的 LDAP 组匹配。  -->
        <!-- 令牌“%u”和“{0}”(无引号)将替换为      -->
        <!-- 成员的可分辨名称。                                       -->
        <!-- 必须对查询中的所有 XML 特殊字符进行转义。 请参阅       -->
        <!-- 以上 userObjectQuery 属性的注释。                       -->
     <!--
        <property name="groupMemberQuery">
            <value>(&(objectClass=groupOfUniqueNames)(uniquemember=%u))</value>
        </property>
     -->
        <!-- 设置用来匹配 LDAP 组名称的搜索筛选。            -->
        <!-- 在执行查询之前,令牌“%g”和“{0}”(无引号)      -->
        <!-- 将替换为组名称。                              -->
        <!-- 必须对查询中的所有 XML 特殊字符进行转义。 请参阅       -->
        <!-- 以上 userObjectQuery 属性的注释。                       -->
     <!--
        <property name="groupObjectQuery">
            <value>(&(objectClass=groupOfUniqueNames)(cn=%g))</value>
        </property>
     -->
        <!-- 在使用 SSL 时,请指定 LDAP 服务器 -->
        <!-- 证书的完整路径名(如果可用)。   -->
     <!-- 不必对反斜线进行转义。    -->
     <!--
        <property name="serverCertificate">
            <value>C:\path\to\my\cert\cert.cer</value>
        </property>       
     -->
        property name="disallowEmptyPassword">
            <value>true</value>
        </property>
    </realm>
</realms>