octicon-rss(16/)
You've already forked yii2
mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-10 02:13:17 +08:00
Merge pull request #10416 from Disassem/patch-1
Fix punctuation and typos [skip ci]
This commit is contained in:
octicon-git-branch(16/)
octicon-tag(16/)
octicon-diff(16/tw-mr-1) 1 changed files with 15 additions and 15 deletions
@@ -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,19 +139,19 @@ 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), связанный
|
||||||
с некоторым постоянным хранилищем, где лежит информация о пользователях. Второй, это класс компонента приложения,
|
с некоторым постоянным хранилищем, где лежит информация о пользователях. Второй — это класс компонента приложения,
|
||||||
отвечающий за управление состоянием аутентификации пользователя.
|
отвечающий за управление состоянием аутентификации пользователя.
|
||||||
|
|
||||||
|
|
||||||
## Использование [[yii\web\User]] <span id="using-user"></span>
|
## Использование [[yii\web\User]] <span id="using-user"></span>
|
||||||
|
|
||||||
В основном класс [[yii\web\User]] используют как компонент приложения `user`.
|
В основном класс [[yii\web\User]] используют как компонент приложения `user`.
|
||||||
|
|
||||||
Можно получить `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`.
|
||||||
|
|||||||
Reference in New Issue
Block a user