Files
php-doc-ru/reference/ldap/functions/ldap-compare.xml
Sergey Panteleev 300ffa98fb Исправление форматирования (#362)
[skip-spellcheck]
[skip-lint]
2021-10-21 09:47:52 +03:00

190 lines
5.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: fbc6f9055f47d18f8ffb30513b772a32eda1526e Maintainer: mch Status: ready -->
<!-- Reviewed: yes Maintainer: lex -->
<refentry xml:id="function.ldap-compare" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>ldap_compare</refname>
<refpurpose>Сравнить значение атрибута, найденного в записи определённой DN</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>bool</type><type>int</type></type><methodname>ldap_compare</methodname>
<methodparam><type>LDAP\Connection</type><parameter>ldap</parameter></methodparam>
<methodparam><type>string</type><parameter>dn</parameter></methodparam>
<methodparam><type>string</type><parameter>attribute</parameter></methodparam>
<methodparam><type>string</type><parameter>value</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>array</type><type>null</type></type><parameter>controls</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Сравнивает значение (<parameter>value</parameter>) атрибута (<parameter>attribute</parameter>)
со значением того же атрибута в записи LDAP-директории.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>ldap</parameter></term>
<listitem>
<para>
&ldap.parameter.ldap;
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>dn</parameter></term>
<listitem>
<para>
Отличительное имя LDAP-объекта.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>attribute</parameter></term>
<listitem>
<para>
Имя атрибута.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Сравниваемое значение.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>controls</parameter></term>
<listitem>
<para>
Массив <link linkend="ldap.controls">управляющих констант LDAP</link> для отправки в запросе.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает &true; если <parameter>value</parameter> совпадают в противном случае &false;.
Возвращает -1 в случае возникновения ошибки.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&ldap.changelog.ldap-object;
&ldap.changelog.controls-nullable;
<row>
<entry>7.3</entry>
<entry>
Добавлена поддержка параметра <parameter>controls</parameter>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
Следующий пример демонстрирует, как проверить, совпадает ли данный пароль с тем, который определён
в указанной записи DN.
</para>
<para>
<example>
<title>Полный пример проверки пароля</title>
<programlisting role="php">
<![CDATA[
<?php
$ds=ldap_connect("localhost"); // Предположим, что LDAP сервер находится по этому адресу
if ($ds) {
// bind
if (ldap_bind($ds)) {
// подготовка данных
$dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
$value = "secretpassword";
$attr = "password";
// сравнение данных
$r=ldap_compare($ds, $dn, $attr, $value);
if ($r === -1) {
echo "Ошибка: " . ldap_error($ds);
} elseif ($r === true) {
echo "Пароль верный.";
} elseif ($r === false) {
echo "Неправильное предположение! Пароль не верен.";
}
} else {
echo "Невозможно привязаться к серверу LDAP.";
}
ldap_close($ds);
} else {
echo "Невозможно соединиться с сервером LDAP.";
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<warning>
<para>
<function>ldap_compare</function> не может быть использована для сравнения бинарных (BINARY) значений!
</para>
</warning>
</refsect1>
</refentry><!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->