Как сделать вместо класса user свой класс для идетнификации пользователя на сайте?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
user
Сообщения: 159
Зарегистрирован: 2017.12.05, 16:55

Как сделать вместо класса user свой класс для идетнификации пользователя на сайте?

Сообщение user »

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

Код: Выделить всё

        'partner' => [
            'identityClass' => 'common\models\Partner',
            'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-frontend', 'httpOnly' => true],
        ],
Пишет:
The configuration for the "partner" component must contain a "class" element.
PS заменил на:

Код: Выделить всё

        'partner' => [
            'class' => 'common\models\Partner',
            'identityClass' => 'common\models\Partner',
            'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-frontend', 'httpOnly' => true],
        ],
>
Пишет:
User::identityClass must be set.
Добавил

Код: Выделить всё

        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true],
        ],
показывает данные из таблицы user
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Как сделать вместо класса user свой класс для идетнификации пользователя на сайте?

Сообщение andku83 »

Код: Выделить всё

        'user' => [
            'class' => yii\web\User::class,
            'identityClass' => common\models\Partner::class,
            'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-frontend', 'httpOnly' => true],
        ],

Код: Выделить всё

class Partner extends Model implements \yii\web\IdentityInterface
{
    ...
}
Ответить