YII2 override user identity, как сделать?

В Yii2 для переопределения пользовательской идентичности (user identity) вы можете выполнить следующие шаги:

1. Создайте новый класс, который будет являться вашим пользовательским классом идентичности. Для этого вы можете создать новый файл PHP в директории вашего проекта, например, User.php.

2. В вашем новом классе User вы должны наследоваться от класса yiiwebIdentityInterface и реализовывать его методы. Эти методы обеспечивают функциональность для работы с пользовательской идентичностью.

  <?php

  namespace appmodels;

  use yiiwebIdentityInterface;

  class User implements IdentityInterface
  {
      public static function findIdentity($id)
      {
          // код для получения данных пользователя с идентификатором $id
      }

      public static function findIdentityByAccessToken($token, $type = null)
      {
          // код для поиска идентификатора пользователя по токену доступа
      }

      public function getId()
      {
          // получение идентификатора текущего пользователя
      }

      public function getAuthKey()
      {
          // получение ключа аутентификации текущего пользователя
      }

      public function validateAuthKey($authKey)
      {
          // проверка ключа аутентификации текущего пользователя
      }
  }

3. В файле config/web.php вашего проекта добавьте настройку компонента user с указанием нового класса идентичности:

  <?php

  return [
      // ...
      'components' => [
          // ...
          'user' => [
              'identityClass' => 'appmodelsUser', // Полное имя класса вашего пользовательского класса идентичности
              // ...
          ],
      ],
  ];

Теперь Yii2 будет использовать ваш пользовательский класс идентичности вместо класса yiiwebUser.

4. При необходимости вы можете добавить дополнительные методы и свойства в ваш пользовательский класс User для работы с логикой вашего приложения, например, методы для аутентификации, проверки прав и прочего.

В результате выполнения этих шагов вы успешно переопределили класс пользовательской идентичности в Yii2 и теперь используете свой собственный класс для аутентификации и управления пользователями.