Merge pull request #10416 from Disassem/patch-1

Fix punctuation and typos [skip ci]
This commit is contained in:
Alexander Makarov
2015-12-17 14:36:53 +03:00

View File

@ -1,21 +1,21 @@
Аутентификация Аутентификация
============== ==============
Аутентификация - это процесс проверки подлинности пользователя. Обычно используется идентификатор Аутентификация это процесс проверки подлинности пользователя. Обычно используется идентификатор
(например `username` или адрес электронной почты) и секретный токен (например пароль или ключ доступа), чтобы судить о (например, `username` или адрес электронной почты) и секретный токен (например, пароль или ключ доступа), чтобы судить о
том что пользователь именно тот за кого себя выдаёт. Аутентификация является основной функцией формы входа. том, что пользователь именно тот, за кого себя выдаёт. Аутентификация является основной функцией формы входа.
Yii обеспечивает фреймворк авторизации с различными компонентами, обеспечивающими процесс входа. Yii обеспечивает фреймворк авторизации с различными компонентами, обеспечивающими процесс входа.
Для использования этого фреймворка, вам нужно проделать следующее: Для использования этого фреймворка, вам нужно проделать следующее:
* Настроить компонент приложения [[yii\web\User|user]]; * Настроить компонент приложения [[yii\web\User|user]];
* Создать класс реализующими интерфейс [[yii\web\IdentityInterface]]. * Создать класс, реализующий интерфейс [[yii\web\IdentityInterface]].
## Настройка [[yii\web\User]] <span id="configuring-user"></span> ## Настройка [[yii\web\User]] <span id="configuring-user"></span>
Компонент [[yii\web\User|user]] управляет статусом аутентификации пользователя. Компонент [[yii\web\User|user]] управляет статусом аутентификации пользователя.
Он требует, чтоб вы указали [[yii\web\User::identityClass|identity class]], который будет содержать Он требует, чтобы вы указали [[yii\web\User::identityClass|identity class]], который будет содержать
текущую логику аутентификации. В следующей конфигурации приложения, [[yii\web\User::identityClass|identity class]] для текущую логику аутентификации. В следующей конфигурации приложения, [[yii\web\User::identityClass|identity class]] для
[[yii\web\User|user]] задан как `app\models\User`, реализация которого будет объяснена в следующем разделе: [[yii\web\User|user]] задан как `app\models\User`, реализация которого будет объяснена в следующем разделе:
@ -118,7 +118,7 @@ class User extends ActiveRecord implements IdentityInterface
``` ```
Как объяснялось ранее, вам нужно реализовать только `getAuthKey()` и `validateAuthKey()`, если ваше приложение использует Как объяснялось ранее, вам нужно реализовать только `getAuthKey()` и `validateAuthKey()`, если ваше приложение использует
только аутентификацию основанную на `cookie`. В этом случае, вы можете использовать следующий код для генерации только аутентификацию основанную на `cookie`. В этом случае вы можете использовать следующий код для генерации
ключа аутентификации для каждого пользователя и хранения его в таблице `user`: ключа аутентификации для каждого пользователя и хранения его в таблице `user`:
```php ```php
@ -139,9 +139,9 @@ class User extends ActiveRecord implements IdentityInterface
} }
``` ```
> Замечание: Не путайте `identity` класс `User` с классом [[yii\web\User]]. Первый является классом реализующим > Замечание: Не путайте `identity` класс `User` с классом [[yii\web\User]]. Первый является классом, реализующим
логику аутентификации пользователя. Он часто реализуется как класс [Active Record](db-active-record.md) связанный логику аутентификации пользователя. Он часто реализуется как класс [Active Record](db-active-record.md), связанный
с некоторым постоянным хранилищем, где лежит информация о пользователях. Второй, это класс компонента приложения, с некоторым постоянным хранилищем, где лежит информация о пользователях. Второй это класс компонента приложения,
отвечающий за управление состоянием аутентификации пользователя. отвечающий за управление состоянием аутентификации пользователя.
@ -151,7 +151,7 @@ class User extends ActiveRecord implements IdentityInterface
Можно получить `identity` текущего пользователя, используя выражение `Yii::$app->user->identity`. Оно вернёт экземпляр Можно получить `identity` текущего пользователя, используя выражение `Yii::$app->user->identity`. Оно вернёт экземпляр
[[yii\web\User::identityClass|identity class]], представляющий текущего аутентифицированного пользователя, [[yii\web\User::identityClass|identity class]], представляющий текущего аутентифицированного пользователя,
или `null`, если текущий пользователь не аутентифицирован (например гость). Следующий код показывает как получить или `null`, если текущий пользователь не аутентифицирован (например, гость). Следующий код показывает как получить
другую связанную с аутентификацией информацию из [[yii\web\User]]: другую связанную с аутентификацией информацию из [[yii\web\User]]:
```php ```php
@ -180,9 +180,9 @@ Yii::$app->user->login($identity);
[[yii\web\User::enableSession|включены]], то `identity` будет сохраняться в сессии, так что состояние [[yii\web\User::enableSession|включены]], то `identity` будет сохраняться в сессии, так что состояние
статуса аутентификации будет поддерживаться на всём протяжении сессии. Если основанный на cookie вход статуса аутентификации будет поддерживаться на всём протяжении сессии. Если основанный на cookie вход
(так называемый "запомни меня" вход) [[yii\web\User::enableAutoLogin|включен]], то `identity` также будет сохранена (так называемый "запомни меня" вход) [[yii\web\User::enableAutoLogin|включен]], то `identity` также будет сохранена
в `cookie` так чтобы статус аутентификации пользователя может быть восстановлен на протяжении всего времени жизни `cookie`. в `cookie` так, чтобы статус аутентификации пользователя мог быть восстановлен на протяжении всего времени жизни `cookie`.
Для включения входа основанного на `cookie`, вам нужно установить [[yii\web\User::enableAutoLogin]] в `true` Для включения входа, основанного на `cookie`, вам нужно установить [[yii\web\User::enableAutoLogin]] в `true`
в конфигурации приложения. Вы также можете настроить время жизни, передав его при вызове метода [[yii\web\User::login()]]. в конфигурации приложения. Вы также можете настроить время жизни, передав его при вызове метода [[yii\web\User::login()]].
Для выхода пользователя, просто вызовите Для выхода пользователя, просто вызовите
@ -209,6 +209,6 @@ Yii::$app->user->logout();
процесс выхода будет прерван. процесс выхода будет прерван.
* [[yii\web\User::EVENT_AFTER_LOGOUT|EVENT_AFTER_LOGOUT]]: вызывается после успешного выхода. * [[yii\web\User::EVENT_AFTER_LOGOUT|EVENT_AFTER_LOGOUT]]: вызывается после успешного выхода.
Вы можете использовать эти события для реализации функции аудита входа, статистике онлайн пользователей. Для примера, Вы можете использовать эти события для реализации функции аудита входа, статистики онлайн пользователей. Например,
в обработчике для [[yii\web\User::EVENT_AFTER_LOGIN|EVENT_AFTER_LOGIN]], вы можете сделать запись о времени и IP в обработчике для [[yii\web\User::EVENT_AFTER_LOGIN|EVENT_AFTER_LOGIN]] вы можете сделать запись о времени и IP
адресе входа в таблицу `user`. адресе входа в таблицу `user`.