<?xml version="1.0" encoding="utf-8"?>
<!-- Reviewed: no -->
<!-- EN-Revision: 24249 -->
<sect1 id="zend.ldap.api" xmlns:xi="http://www.w3.org/2001/XInclude">
    <title>API概要</title>

    <sect2 id="zend.ldap.api.configuration">
        <title>設定／オプション</title>

        <para>
            <classname>Zend_Ldap</classname>コンポーネント用のオプション配列は、
            コンストラクタあるいは<methodname>setOptions()</methodname>メソッドで指定できます。
            下記のオプションが利用できます:
        </para>

        <table id="zend.ldap.api.configuration.table">
            <title>Zend_Ldapオプション</title>

            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>名前</entry>
                        <entry>説明</entry>
                    </row>
                </thead>

                <tbody>
                    <row>
                        <entry><property>host</property></entry>

                        <entry>
                            <acronym>LDAP</acronym>サーバのデフォルトのホスト名。
                            <methodname>connect()</methodname>で指定しなかった場合に使用します
                             (<methodname>bind()</methodname>の際にユーザ名を正規化するときにも使用します)。
                        </entry>
                    </row>

                    <row>
                        <entry><property>port</property></entry>

                        <entry>
                            <acronym>LDAP</acronym>サーバのデフォルトのポート。
                            <methodname>connect()</methodname>で指定しなかった場合に使用します。
                        </entry>
                    </row>

                    <row>
                        <entry><property>useStartTls</property></entry>

                        <entry>
                            <acronym>LDAP</acronym>クライアント側に
                            <acronym>TLS</acronym>(別名<acronym>SSLv2</acronym>)
                            での暗号化トランスポートを要求するか否か。
                            実運用環境では <constant>TRUE</constant> を指定することを強く推奨します。
                            これにより、パスワードが平文で送られてしまうことを防ぎます。
                            デフォルト値は <constant>FALSE</constant> です。
                            というのも、この機能を使用するにはサーバ側に別途、
                            証明書のインストールが必要となることが多いからです。
                            <emphasis>useSsl</emphasis>オプションと
                            <emphasis>useStartTls</emphasis>オプションは共存できません。
                            <emphasis>useStartTls</emphasis>オプションのほうが
                            <emphasis>useSsl</emphasis>より推奨されていますが、
                            中にはこの新しい仕組みをサポートしていないサーバもあります。
                        </entry>
                    </row>

                    <row>
                        <entry><property>useSsl</property></entry>

                        <entry>
                            <acronym>LDAP</acronym>クライアント側に
                            <acronym>SSL</acronym>での暗号化トランスポートを要求するか否か。
                            <emphasis>useSsl</emphasis>オプションと
                            <emphasis>useStartTls</emphasis> オプションは共存できません。
                        </entry>
                    </row>

                    <row>
                        <entry><property>username</property></entry>

                        <entry>
                            デフォルトの認証ユーザ名。
                            サーバによっては、DN 形式を要求するものもあります。
                            DN にバインドすることを<acronym>LDAP</acronym>サーバーが要求するならば、
                            これは DN 形式で与えられなければなりません。
                            そして、バインディングは単純なユーザー名で可能でなければなりません
                        </entry>
                    </row>

                    <row>
                        <entry><property>password</property></entry>

                        <entry>
                            デフォルトの認証パスワード (上のユーザ名との組み合わせでのみ使用します)。
                        </entry>
                    </row>

                    <row>
                        <entry><property>bindRequiresDn</property></entry>

                        <entry>
                            <constant>TRUE</constant> を指定すると、ユーザ名が DN 形式でない場合に
                            <classname>Zend_Ldap</classname> をバインド時に使用してアカウントの DN を取得します。
                            デフォルト値は <constant>FALSE</constant> です。
                        </entry>
                    </row>

                    <row>
                        <entry><property>baseDn</property></entry>

                        <entry>
                            (アカウントなどの) 検索に使用するデフォルトのベース DN。
                            このオプションは、アカウントに関する大半の操作で必須となります。
                            そのアカウントが存在する DN を指す必要があります。
                        </entry>
                    </row>

                    <row>
                        <entry><property>accountCanonicalForm</property></entry>

                        <entry>
                            アカウント名の正規化方式を表す整数値。
                            以下の<link
                                linkend="zend.ldap.introduction.theory-of-operations.account-name-canonicalization">
                            <emphasis>アカウント名の正規化</emphasis></link>
                            節を参照ください。
                        </entry>
                    </row>

                    <row>
                        <entry><property>accountDomainName</property></entry>

                        <entry>
                            対象となる<acronym>LDAP</acronym>サーバの <acronym>FQDN</acronym> ドメイン
                            (例 example.com)。
                        </entry>
                    </row>

                    <row>
                        <entry><property>accountDomainNameShort</property></entry>

                        <entry>
                            対象となる<acronym>LDAP</acronym>サーバの '短い' ドメイン。
                            これは、Windows ネットワークの NetBIOS ドメイン名として用いられますが、
                            AD 以外のサーバで用いられることもあります。
                        </entry>
                    </row>

                    <row>
                        <entry><property>accountFilterFormat</property></entry>

                        <entry>
                            アカウントを検索する際に使用する<acronym>LDAP</acronym>検索フィルタ。
                            この文字列は
                            <ulink url="http://php.net/sprintf"><methodname>sprintf()</methodname></ulink>
                            形式のものとなり、ユーザ名を表す '<emphasis>%s</emphasis>'
                            をひとつ含む必要があります。デフォルト値は
                            '<emphasis>(&amp;(objectClass=user)(sAMAccountName=%s))</emphasis>' です。
                            ただし、<emphasis>bindRequiresDn</emphasis> が <constant>TRUE</constant>
                            の場合のデフォルト値は
                            '<emphasis>(&amp;(objectClass=posixAccount)(uid=%s))</emphasis>'
                            となります。独自のスキーマを使用している場合は、
                            それにあわせてこのオプションを変更しなければなりません。
                        </entry>
                    </row>

                    <row>
                        <entry><property>allowEmptyPassword</property></entry>

                        <entry>
                            <acronym>LDAP</acronym>サーバによっては、
                            匿名バインドの際のパスワードに空文字を設定できるものもあります。
                            この挙動は、ほとんどの場合において好ましくないものです。
                            そのため、空のパスワードは明示的に無効にしています。
                            この値を<constant>TRUE</constant>にすると、
                            バインド時に空文字列のパスワードを使用できるようになります。
                        </entry>
                    </row>

                    <row>
                        <entry><property>optReferrals</property></entry>

                        <entry>
                            <constant>TRUE</constant>に設定すると、
                            参照先を追跡するよう<acronym>LDAP</acronym>クライアントに指示します。
                            デフォルト値は<constant>FALSE</constant>です。
                        </entry>
                    </row>

                    <row>
                        <entry><property>tryUsernameSplit</property></entry>

                        <entry>
                            <constant>FALSE</constant>にセットすると、
                            バインディング手続きの間、与えられたユーザー名において
                            ユーザー名をドメインから切り離すために、
                            最初の<emphasis>@</emphasis>または<emphasis>\</emphasis>文字で分割してはいけないことを示します。
                            これにより、一部のドメーン情報を継承しない
                            （例えばバインディングのための電子メール・アドレスを使用する）、
                            <emphasis>@</emphasis>または<emphasis>\</emphasis>を含むユーザー名を
                            ユーザーが利用できるようになります。
                            デフォルト値は<constant>TRUE</constant>です。
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
    </sect2>

    <sect2 id="zend.ldap.api.reference">
        <title>APIリファレンス</title>

        <note>
            <para><emphasis>斜体</emphasis>のメソッド名は static メソッドです。</para>
        </note>

        <xi:include href="Zend_Ldap-API-Ldap.xml">
            <xi:fallback><xi:include href="../../en/module_specs/Zend_Ldap-API-Ldap.xml" /></xi:fallback>
        </xi:include>
        <xi:include href="Zend_Ldap-API-Ldap-Attribute.xml">
            <xi:fallback><xi:include href="../../en/module_specs/Zend_Ldap-API-Ldap-Attribute.xml" /></xi:fallback>
        </xi:include>
        <xi:include href="Zend_Ldap-API-Ldap-Dn.xml">
            <xi:fallback><xi:include href="../../en/module_specs/Zend_Ldap-API-Ldap-Dn.xml" /></xi:fallback>
        </xi:include>
        <xi:include href="Zend_Ldap-API-Ldap-Filter.xml" />
        <xi:include href="Zend_Ldap-API-Ldap-Node.xml">
            <xi:fallback><xi:include href="../../en/module_specs/Zend_Ldap-API-Ldap-Node.xml" /></xi:fallback>
        </xi:include>
        <xi:include href="Zend_Ldap-API-Ldap-Node-RootDse.xml" />
        <xi:include href="Zend_Ldap-API-Ldap-Node-Schema.xml" />
        <xi:include href="Zend_Ldap-API-Ldap-Ldif-Encoder.xml" />
    </sect2>
</sect1>
