2015-02-16 3 views
3

Я искал ответы, но все, что я вижу, это реализации RBAC, и они находятся в расширенном шаблоне. Видел это http://www.yiiframework.com/wiki/771/rbac-super-simple-with-admin-and-user/, но он также находится в расширенном шаблоне.Yii 2 Несколько пользователей в базовом шаблоне

RBAC слишком сложный для меня, и я все еще начинаю больше узнавать о Yii 2 с основным шаблоном.

Любой может помочь мне реализовать несколько пользователей в базовом шаблоне Yii 2 без использования RBAC? Это будет большой помощью. Благодарю.

ответ

1

Он должен иметь ту же концепцию в Yii 1.1.x, где вы инициализируете два компонента CWebUser, но на этот раз в Yii2 пользовательская модель (которая реализует Identity) является той, которую мы будем инициализировать дважды на конфигурация:.

'components' => [ 
    'user' => [ 
     'identityClass' => 'common\models\User', 
     'enableAutoLogin' => true, 
    ], 
    'admin' => [ 
     'identityClass' => 'common\models\Admin', 
     'enableAutoLogin' => true, 
    ], 
], 

(или, если у вас нет отдельной таблицы Admin базы данных, а также использовать common\models\User для admin компонента identityClass В любом случае, это будет экземпляр в качестве отдельного объекта и будет иметь разное содержание и штаты)

Таким образом, вы можете:

Yii::$app->user->function() 

и

Yii::$app->admin->function() 
+0

Если добавить дополнительные компоненты, необходимо установить, что класс 'админ' => [ 'identityClass' => 'общие \ модели \ Admin', 'enableAutoLogin' => верно, ' class '=>' yii \ web \ User ', ], –

0

Вы хотите, чтобы переключаться между двумя модели identityClass для входа в систему,

Просто включите это в админ Логин контроллер для изменения identityClass.

Yii::$app->user->identityClass = 'app\models\Admin'; 

И в пользовательском компоненте config/web.php.

'identityClass' = 'app\models\Admin'; 
Смежные вопросы