Files
php-doc-ru/reference/mongo/mongodb/authenticate.xml
Sergey Panteleev 6c58872908 docs(ru): Updated to English revision
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@350999 c90b9560-bf6c-de11-be94-00142212c4b1
2020-10-26 10:46:04 +00:00

180 lines
5.6 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"?>
<!-- $Revision$ -->
<!-- EN-Revision: af5f2f87b3b0bb9ee0f83ccb787a4e7db1eb6bd4 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="mongodb.authenticate" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>MongoDB::authenticate</refname>
<refpurpose>Выполняет вход в базу данных</refpurpose>
</refnamediv>
<refsynopsisdiv role="soft-deprecation-notice">
<sidebar>
&mongo.noalternative.method.note;
<para>Вместо этого вам необходимо предоставить учетные данные через
строку подключения.</para>
</sidebar>
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>array</type><methodname>MongoDB::authenticate</methodname>
<methodparam><type>string</type><parameter>username</parameter></methodparam>
<methodparam><type>string</type><parameter>password</parameter></methodparam>
</methodsynopsis>
<para>
Этот метод вызывает соединение для аутентификации. Если для сервера
базы данных включена аутентификация (по умолчанию это не так), вам необходимо войти
в систему, прежде чем база данных позволит вам что-либо сделать.
</para>
<para>
В общем, вы должны использовать аутентификацию, встроенную в
<function>MongoClient::__construct</function>, в предпочтение этому методу.
Если вы аутентифицируетесь при подключении, и соединение прерывается и повторно подключается
во время сеанса, вы будете повторно аутентифицированы. Если вы вручную
прошли проверку подлинности с использованием этого метода, и соединение обрывается, вам придется снова
вызывать этот метод после повторного подключения.
</para>
<para>
Этот метод идентичен выполнению:
<programlisting role="php">
<![CDATA[
<?php
$salted = "${username}:mongo:${password}";
$hash = md5($salted);
$nonce = $db->command(array("getnonce" => 1));
$saltedHash = md5($nonce["nonce"]."${username}${hash}");
$result = $db->command(array("authenticate" => 1,
"user" => $username,
"nonce" => $nonce["nonce"],
"key" => $saltedHash
));
?>
]]>
</programlisting>
</para>
<para>
Как только соединение было аутентифицировано, оно может быть де-аутентифицировано только
с помощью команды базы данных "logout":
<programlisting role="php">
<![CDATA[
<?php
$db->command(array("logout" => 1));
?>
]]>
</programlisting>
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term>
<parameter>username</parameter>
</term>
<listitem>
<para>
Имя пользователя.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>password</parameter>
</term>
<listitem>
<para>
Пароль (в текстовом виде).
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает ответ базы данных. Если вход был успешным, вернет
<programlisting role="php">
<![CDATA[
<?php
array("ok" => 1);
?>
]]>
</programlisting>
Если что-то пошло не так, вернет
<programlisting role="php">
<![CDATA[
<?php
array("ok" => 0, "errmsg" => "auth fails");
?>
]]>
</programlisting>
(вместо "auth fails" может быть другое сообщение, в зависимости от версии базы данных и того,
что не так).
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
Основная документация MongoDB по <link xlink:href="&url.mongodb.docs.command;authenticate">аутентификации</link>.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>PECL mongo 1.2.11</entry>
<entry>
Выдает <constant>E_DEPRECATED</constant> при использовании. Пожалуйста, передавайте
детали аутентификации в конструкторе.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</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
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
-->