Yii 2 User Authentication & Role Based Access Control (RBAC) Module installation and usage

11,042

Solution 1

It seems that you misconfigured the db component in your config file, because, the user param does not exist, maybe you meant username. So the problem is not the extension itself but your local configuration setup.

Your db component should look like this:

    'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'pgsql:dbname=YourDbName...', // replace pgsql with your db driver
        'username' => 'YourUsername',
        'password' => 'YourPwd',
        'enableSchemaCache' => false,
        'charset' => 'utf8',
    ],

Hope this helps.

Solution 2

Change you console/config/main-local.php, replace the key preload with bootstrap.

return [
    'preload' => [
        //'debug',
    ],
    'modules' => [
        //'debug' => 'yii\debug\Module',
        //'gii' => 'yii\gii\Module',
    ],
];

TO

return [
    'bootstrap' => [
        //'debug',
    ],
    'modules' => [
        //'debug' => 'yii\debug\Module',
        //'gii' => 'yii\gii\Module',
    ],
];
Share:
11,042
Sandip Pingle
Author by

Sandip Pingle

Senior Software Consultant @ brandlock.io Prior to that worked with Shaadi.com, dialhealth.com, hungama.com

Updated on July 16, 2022

Comments

  • Sandip Pingle
    Sandip Pingle almost 2 years

    I am trying to install and use this robregonm / yii2-auth module in my newly installed yii2 advance app. I used composer to install it. using this command

    php composer.phar require robregonm/yii2-auth "dev-master"
    

    I have configured my web and console files accordingly. now I am trying to run migration as mentioned using

    ./yii migrate/up --migrationPath=@auth/migrations
    

    And I am getting following error.

    Exception 'yii\base\UnknownPropertyException' with message 'Setting unknown property: yii\db\Connection::user'
    
    in /var/www/mycoolapp/vendor/yiisoft/yii2/base/Component.php:196
    
    Stack trace:
    #0 /var/www/mycoolapp/vendor/yiisoft/yii2/BaseYii.php(515): yii\base\Component->__set('user', Array)
    #1 /var/www/mycoolapp/vendor/yiisoft/yii2/base/Object.php(104): yii\BaseYii::configure(Object(yii\db\Connection), Array)
    #2 [internal function]: yii\base\Object->__construct(Array)
    #3 /var/www/mycoolapp/vendor/yiisoft/yii2/di/Container.php(365): ReflectionClass->newInstanceArgs(Array)
    #4 /var/www/mycoolapp/vendor/yiisoft/yii2/di/Container.php(147): yii\di\Container->build('yii\db\Connecti...', Array, Array)
    #5 /var/www/mycoolapp/vendor/yiisoft/yii2/BaseYii.php(341): yii\di\Container->get('yii\db\Connecti...', Array, Array)
    #6 /var/www/mycoolapp/vendor/yiisoft/yii2/di/ServiceLocator.php(132): yii\BaseYii::createObject(Array)
    #7 /var/www/mycoolapp/vendor/yiisoft/yii2/console/controllers/MigrateController.php(124): yii\di\ServiceLocator->get('db')
    #8 /var/www/mycoolapp/vendor/yiisoft/yii2/base/Controller.php(144): yii\console\controllers\MigrateController->beforeAction(Object(yii\base\InlineAction))
    #9 /var/www/mycoolapp/vendor/yiisoft/yii2/console/Controller.php(83): yii\base\Controller->runAction('up', Array)
    #10 /var/www/mycoolapp/vendor/yiisoft/yii2/base/Module.php(444): yii\console\Controller->runAction('up', Array)
    #11 /var/www/mycoolapp/vendor/yiisoft/yii2/console/Application.php(164): yii\base\Module->runAction('migrate/up', Array)
    #12 /var/www/mycoolapp/vendor/yiisoft/yii2/console/Application.php(140): yii\console\Application->runAction('migrate/up', Array)
    #13 /var/www/mycoolapp/vendor/yiisoft/yii2/base/Application.php(329): yii\console\Application->handleRequest(Object(yii\console\Request))
    #14 /var/www/mycoolapp/yii(30): yii\base\Application->run()
    #15 {main}
    PHP Fatal error:  Uncaught exception 'yii\base\InvalidConfigException' with message 'Unable to append to log file: /var/www/mycoolapp/console/runtime/logs/app.log' in /var/www/mycoolapp/vendor/yiisoft/yii2/log/FileTarget.php:87
    Stack trace:
    #0 /var/www/mycoolapp/vendor/yiisoft/yii2/log/Target.php(103): yii\log\FileTarget->export()
    #1 /var/www/mycoolapp/vendor/yiisoft/yii2/log/Dispatcher.php(179): yii\log\Target->collect(Array, true)
    #2 /var/www/mycoolapp/vendor/yiisoft/yii2/log/Logger.php(162): yii\log\Dispatcher->dispatch(Array, true)
    #3 [internal function]: yii\log\Logger->flush(true)
    #4 {main}
      thrown in /var/www/mycoolapp/vendor/yiisoft/yii2/log/FileTarget.php on line 87
    

    I am confused about whats missing here? I can not find auth module anywhere in app. My question is where should I clone yii2-auth in app?