Commit 84e02efb by Alexander Makarov

Edited Russian translation of REST Authentication guide

parent fa1a6995
...@@ -28,15 +28,16 @@ Yii поддерживает все выше перечисленные мето ...@@ -28,15 +28,16 @@ Yii поддерживает все выше перечисленные мето
1. У компонента приложения `user` установите свойство [[yii\web\User::enableSession|enableSession]] равным false. 1. У компонента приложения `user` установите свойство [[yii\web\User::enableSession|enableSession]] равным false.
2. Укажите, какие методы аутентификации вы планируете использовать, настроив поведение `authenticator` 2. Укажите, какие методы аутентификации вы планируете использовать, настроив поведение `authenticator`
в ваших классах REST-контроллеров. в ваших классах REST-контроллеров.
3. Реализуйте метод [[yii\web\IdentityInterface::findIdentityByAccessToken()]] *в вашем [[yii\web\User::identityClass|классе UserIdentity]]*. 3. Реализуйте метод [[yii\web\IdentityInterface::findIdentityByAccessToken()]] в вашем [[yii\web\User::identityClass|классе UserIdentity]].
Шаг 1 не обязателен, но рекомендуется его все-таки выполнить, так как RESTful API не должны сохранять информацию о состоянии клиента. Когда свойство [[yii\web\User::enableSession|enableSession]] Шаг 1 не обязателен, но рекомендуется его всё-таки выполнить, так как RESTful API не должен сохранять информацию о
установлено в false, состояние аутентификации пользователя НЕ БУДЕТ постоянно состоянии клиента. Когда свойство [[yii\web\User::enableSession|enableSession]] установлено в false, состояние
сохраняться между запросами с использованием сессий. Вместо этого аутентификация будет выполняться для каждого запроса, что достигается шагами 2 и 3. аутентификации пользователя НЕ БУДЕТ сохраняться между запросами с использованием сессий. Вместо этого аутентификация
будет выполняться для каждого запроса, что достигается шагами 2 и 3.
> Подсказка: если вы разрабатываете RESTful API в пределах приложения, вы можете настроить свойство > Подсказка: если вы разрабатываете RESTful API в пределах приложения, вы можете настроить свойство
[[yii\web\User::enableSession|enableSession]] компонента приложения `user` в конфигурации приложения. Если вы разрабатываете [[yii\web\User::enableSession|enableSession]] компонента приложения `user` в конфигурации приложения. Если вы
RESTful API как модуль, можете добавить следующую строчку в метод `init()` модуля: разрабатываете RESTful API как модуль, можете добавить следующую строчку в метод `init()` модуля:
> ```php > ```php
public function init() public function init()
{ {
...@@ -60,7 +61,7 @@ public function behaviors() ...@@ -60,7 +61,7 @@ public function behaviors()
} }
``` ```
Если вы хотите включить поддержку всех трех описанных выше методов аутентификации, можете использовать `CompositeAuth`: Если вы хотите включить поддержку всех трёх описанных выше методов аутентификации, можете использовать `CompositeAuth`:
```php ```php
use yii\filters\auth\CompositeAuth; use yii\filters\auth\CompositeAuth;
...@@ -107,7 +108,7 @@ class User extends ActiveRecord implements IdentityInterface ...@@ -107,7 +108,7 @@ class User extends ActiveRecord implements IdentityInterface
будет пытаться аутентифицировать пользователя в своем методе `beforeAction()`. будет пытаться аутентифицировать пользователя в своем методе `beforeAction()`.
Если аутентификация прошла успешно, контроллер выполнит другие проверки (ограничение частоты запросов, авторизация) Если аутентификация прошла успешно, контроллер выполнит другие проверки (ограничение частоты запросов, авторизация)
и затем выполнит действие. *Информация о подлинности аутентифицированного пользователя может быть получена из объекта `Yii::$app->user->identity`*. и затем выполнит действие. Информация об аутентифицированном пользователе может быть получена из объекта `Yii::$app->user->identity`.
Если аутентификация прошла неудачно, будет возвращен ответ с HTTP-кодом состояния 401 вместе с другими необходимыми заголовками Если аутентификация прошла неудачно, будет возвращен ответ с HTTP-кодом состояния 401 вместе с другими необходимыми заголовками
(такими, как заголовок `WWW-Authenticate` для HTTP Basic Auth). (такими, как заголовок `WWW-Authenticate` для HTTP Basic Auth).
...@@ -115,9 +116,9 @@ class User extends ActiveRecord implements IdentityInterface ...@@ -115,9 +116,9 @@ class User extends ActiveRecord implements IdentityInterface
## Авторизация <a name="authorization"></a> ## Авторизация <a name="authorization"></a>
После аутентификации пользователя вы, вероятно, захотите проверить, есть ли у него или у нее разрешение на выполнение запрошенного После аутентификации пользователя вы, вероятно, захотите проверить, есть ли у него или у неё разрешение на выполнение запрошенного
действия с запрошенным ресурсом. Этот процесс называется *авторизацией* и подробно описан действия с запрошенным ресурсом. Этот процесс называется *авторизацией* и подробно описан
в разделе [Авторизация](security-authorization.md). в разделе «[Авторизация](security-authorization.md)».
Если ваши контроллеры унаследованы от [[yii\rest\ActiveController]], вы можете переопределить Если ваши контроллеры унаследованы от [[yii\rest\ActiveController]], вы можете переопределить
метод [[yii\rest\Controller::checkAccess()|checkAccess()]] для выполнения авторизации. Этот метод будет вызываться метод [[yii\rest\Controller::checkAccess()|checkAccess()]] для выполнения авторизации. Этот метод будет вызываться
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment