Помогите разобраться с аутентификацией . Console

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
evgeniy123
Сообщения: 401
Зарегистрирован: 2011.11.01, 17:29

Помогите разобраться с аутентификацией . Console

Сообщение evgeniy123 »

Есть сокет который настроен и работает.
запускаю через:

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

php yii socket/start-socket 
Хочу затем в самой модели вызвать Yii::$app->user->... но не получается.пишет что

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

Exception 'yii\base\InvalidConfigException' with message 'The configuration for the "user" component must contain a "class" element.'

in /var/www/vendor/yiisoft/yii2/di/ServiceLocator.php:204

Stack trace:
#0 /var/www/vendor/yiisoft/yii2/di/ServiceLocator.php(260): yii\di\ServiceLocator->set('user', Array)
#1 /var/www/vendor/yiisoft/yii2/base/Component.php(172): yii\di\ServiceLocator->setComponents(Array)
#2 /var/www/vendor/yiisoft/yii2/BaseYii.php(525): yii\base\Component->__set('components', Array)
#3 /var/www/vendor/yiisoft/yii2/base/Object.php(105): yii\BaseYii::configure(Object(yii\console\Application), Array)
#4 /var/www/vendor/yiisoft/yii2/base/Application.php(205): yii\base\Object->__construct(Array)
#5 /var/www/vendor/yiisoft/yii2/console/Application.php(89): yii\base\Application->__construct(Array)
#6 /var/www/yii(26): yii\console\Application->__construct(Array)
#7 {main}   
после того как в main.php (console) поклал
на уровне components

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

 'user' => [
            'identityClass' => 'budyaga\users\models\User',

        ],

на уровне выше :

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

...
 'modules' => [
        'user' => [
            'class' => 'budyaga\users\Module',
            //'userPhotoUrl' => 'http://example.com/uploads/user/photo',
            'userPhotoPath' => '@frontend/web/uploads',
        ],
    ],
    ...
В чем может быть причина и как мне иметь доступ к объекту Yii::$app->user-> ?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Помогите разобраться с аутентификацией . Console

Сообщение zelenin »

сессии нет в консоли, нет и юзера. вы же в консоли не логинились - к какому юзеру хотите иметь доступ?
evgeniy123
Сообщения: 401
Зарегистрирован: 2011.11.01, 17:29

Re: Помогите разобраться с аутентификацией . Console

Сообщение evgeniy123 »

zelenin писал(а): 2017.07.27, 11:44 сессии нет в консоли, нет и юзера. вы же в консоли не логинились - к какому юзеру хотите иметь доступ?
А если подсунуть токен сессии из браузера в yii ?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Помогите разобраться с аутентификацией . Console

Сообщение zelenin »

evgeniy123 писал(а): 2017.07.28, 13:43
zelenin писал(а): 2017.07.27, 11:44 сессии нет в консоли, нет и юзера. вы же в консоли не логинились - к какому юзеру хотите иметь доступ?
А если подсунуть токен сессии из браузера в yii ?
что вы хотите сделать? зачем подсовывать? почему нельзя юзера из базы доставать?
evgeniy123
Сообщения: 401
Зарегистрирован: 2011.11.01, 17:29

Re: Помогите разобраться с аутентификацией . Console

Сообщение evgeniy123 »

zelenin писал(а): 2017.07.28, 13:46
evgeniy123 писал(а): 2017.07.28, 13:43
zelenin писал(а): 2017.07.27, 11:44 сессии нет в консоли, нет и юзера. вы же в консоли не логинились - к какому юзеру хотите иметь доступ?
А если подсунуть токен сессии из браузера в yii ?
что вы хотите сделать? зачем подсовывать? почему нельзя юзера из базы доставать?
чат на ws с сохранением токена пока работает беру из cookie его token и ищу по базе. но хотелось бы иметь доступ к YII::$app->user так как это привычнее и понятно для всех. даже тот же Yii::$app->user->can внутри не используешь а нужно
Аватара пользователя
zabachok
Сообщения: 522
Зарегистрирован: 2013.12.16, 14:38

Re: Помогите разобраться с аутентификацией . Console

Сообщение zabachok »

Я собсна передавал sessionId при коннекте сокета. А сессии храню в базе. Все работает, получается как обычное приложение.
2b||!2b Just read the instructions
evgeniy123
Сообщения: 401
Зарегистрирован: 2011.11.01, 17:29

Re: Помогите разобраться с аутентификацией . Console

Сообщение evgeniy123 »

zabachok писал(а): 2017.07.28, 14:17 Я собсна передавал sessionId при коннекте сокета. А сессии храню в базе. Все работает, получается как обычное приложение.
sessionId - Это что за сессия ?
Аватара пользователя
zabachok
Сообщения: 522
Зарегистрирован: 2013.12.16, 14:38

Re: Помогите разобраться с аутентификацией . Console

Сообщение zabachok »

evgeniy123 писал(а): 2017.07.28, 14:46 sessionId - Это что за сессия ?
Не сессия, а идентификатор сессии
2b||!2b Just read the instructions
evgeniy123
Сообщения: 401
Зарегистрирован: 2011.11.01, 17:29

Re: Помогите разобраться с аутентификацией . Console

Сообщение evgeniy123 »

zabachok писал(а): 2017.07.28, 16:12
evgeniy123 писал(а): 2017.07.28, 14:46 sessionId - Это что за сессия ?
Не сессия, а идентификатор сессии
Это я понял :) Откуда он берется . идентификатор Websocket или который ?
Nex-Otaku
Сообщения: 831
Зарегистрирован: 2016.07.09, 21:07

Re: Помогите разобраться с аутентификацией . Console

Сообщение Nex-Otaku »

Погуглите, что такое "сессия PHP".
Ответить