Yii2 - User::identityClass должен быть установлен
Я использую Dektrium Yii2-user для регистрации пользователя в шаблоне Yii2 Basic. Но я получил эту ошибку:
Я несколько раз пытался решить проблему, но не нашел выхода. Я использовал Dektrium в шаблоне Yii2 Advanced, и он отлично работает.
Web.config
<?php
$params = require(__DIR__ . '/params.php');
$config = [
'id' => 'JKKEsrms',
'basePath' => dirname(__DIR__),
'bootstrap' => [
'log',
[
'class' => 'app\components\LanguageSelector',
'supportedLanguages' => ['en'],
],
],
'components' => [
'request' => [
'cookieValidationKey' => 'JDqkJaMgIITAKcsJY6yvLQdM9jf7WghX',
],
'view' => [
'theme' => [
'pathMap' => [
'@dektrium/user/views' => '@app/views/user',
],
],
],
'pdf'=>[
'class'=>'app\components\ExportToPdf',
],
'excel'=>[
'class'=>'app\components\ExportToExcel',
],
'cache' => [
'class' => 'yii\caching\FileCache',
],
'getid'=>[
'class'=>'app\components\GetUserId',
],
'authManager' => [
'class' => 'yii\rbac\DbManager',
'defaultRoles' => ['guest'],
],
'checked' => [
'class' => 'app\components\Checked'
],
'dateformatter'=>[
'class'=>'app\components\DateFormat',
],
// 'user' => [
// 'identityClass' => 'app\models\User',
// 'enableAutoLogin' => false,
// ],
'errorHandler' => [
'errorAction' => 'site/error',
],
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
'formatter' => [
'dateFormat' => 'dd-MM-yyyy',
'datetimeFormat' => 'php:d-m-Y H:i:s',
'timeFormat' => 'php:H:i:s',
'decimalSeparator' => ',',
'thousandSeparator' => ' ',
'currencyCode' => 'NGN.',
'class' => 'yii\i18n\Formatter',
],
'db' => require(__DIR__ . '/db.php'),
'assetManager' => [
'bundles' => [
'dmstr\web\AdminLteAsset' => [
'skin' => 'skin-blue',
],
],
],
],
'as access' => [
'class' => 'mdm\admin\components\AccessControl',
'allowActions' => [
'site/*',
]
],
'aliases' => [
'@mdm/admin' => '@vendor/mdmsoft/yii2-admin',
],
'params' => $params,
'modules' => [
// Yii2-admin
//Yii2-admin Configuration Backend
'admin' => [
'class' => 'mdm\admin\Module',
'controllerMap' => [
'assignment' => [
'class' => 'mdm\admin\controllers\AssignmentController',
'userClassName' => 'dektrium\user\models\User',
],
],
],
// Yii2-user
'user' => [
'class' => 'dektrium\user\Module',
'mailer' => [
'sender' => 'noblemfd@gmail.com', // or ['no-reply@myhost.com' => 'Sender name']
'welcomeSubject' => 'Welcome JKK-ESRMS',
'confirmationSubject' => 'Confirmation JKK-ESRMS',
'reconfirmationSubject' => 'Email change JKK-ESRMS',
'recoverySubject' => 'Recovery JKK-ESRMS',
],
],
// Configuration Yii2-user
'user' => [
'as backend' => 'dektrium\user\filters\BackendFilter',
'controllers' => ['registration'], // not allowed controller in 'backend'
'enableUnconfirmedLogin' => true,
'confirmWithin' => 21600,
'cost' => 12,
'admins' => ['sysadmin'],
// Override Model Yii2-user
'modelMap' => [
'Account' => 'app\models\Account',
'LoginForm' => 'app\models\LoginForm',
'Profile' => 'app\models\Profile',
'RecoveryForm' => 'app\models\RecoveryForm',
'RegistrationForm' => 'app\models\RegistrationForm',
'ResendForm' => 'app\models\ResendForm',
'SettingsForm' => 'app\models\SettingsForm',
'Token' => 'app\models\Token',
'User' => 'app\models\User',
'UserSearch' => 'app\models\UserSearch',
],
// Overide Controller Yii2-user
'controllerMap' => [
'profile' => 'app\controllers\user\ProfileController',
'recovery' => 'app\controllers\user\RecoveryController',
'registration' => 'app\controllers\user\RegistrationController',
'security' => 'app\controllers\user\SecurityController',
'settings' => 'app\controllers\user\SettingsController',
'admin' => 'app\controllers\user\AdminController',
],
],
// End Configuration Yii2-user
'gridview' => [
'class' => '\kartik\grid\Module'
],
],
];
if (YII_ENV_DEV) {
//configuration adjustments for 'dev' environment
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = 'yii\debug\Module';
$config['components']['assetManager'] = [
//'linkAssets' => true,
'linkAssets' => false,
];
$config['bootstrap'][] = 'gii';
$config['modules']['gii'] = [
'class'=>'yii\gii\Module',
'allowedIPs'=>['127.0.0.1','192.168.1.*'],
];
}
return $config;
Что могло вызвать ошибку и как ее устранить. Я потратил целый день, пытаясь решить проблему, но не повезло. Любезно помочь. Спасибо в ожидании.