Как аутентифицировать администратора и сотрудника с помощью класса identity в yii2

Мы можем аутентифицировать сотрудников, используя функцию identityclass, предоставленную в yii2. А если админ не сотрудник?

Можем ли мы иметь два класса идентификации в config.php или как реализовать такой случай?


person Questions    schedule 15.08.2017    source источник
comment
Для этого вам не нужно иметь два класса идентификации. Используйте rbac с умом, и это можно сделать с помощью разрешения.   -  person user773440    schedule 15.08.2017
comment
Как мы можем сделать это с помощью RBAC   -  person Questions    schedule 15.08.2017
comment
Создайте группу пользователей таблицы (амин, сотрудник, модератор...) и создайте роли с этими именами, а затем используйте группу пользователей в своей пользовательской таблице. Следуйте руководству пользователя, создайте разрешения и роли. yiiframework.com/doc-2.0/ .и проверьте свой контроллер, используя \Yii::$app-›user-›can('PERMISSON'). Это просто.   -  person user773440    schedule 15.08.2017
comment
Как заявил Самит, вы можете сделать это с помощью RBAC — создайте две роли Admin и Employee и назначьте их пользователям. Или вы можете создать два разных приложения (используя расширенный шаблон yii2) и реализовать 2 класса идентификации для каждого из них (конечно, вы должны как-то разделить пользователей в БД)   -  person Yerke    schedule 15.08.2017
comment
У меня просто есть таблица сотрудников, в которой есть поля (EmpId, FirstName, MiddleName) и т. д. Теперь я присвоил identityClass значение app\models\Employee. Я создал четыре таблицы auth_item, auth_item_child, auth_rule и cuth_assignment и вставил записи в auth_item как admin и fieldofficer (т. е. созданные роли). Точно так же я также назначил администратора одному сотруднику и полевого офицера двум другим сотрудникам. Теперь в контроллере я закодировал правила доступа для вышеуказанных ролей. Теперь, когда первый полевой офицер создает группу, он должен иметь возможность просматривать и обновлять информацию только о своей группе, а не о других.   -  person Questions    schedule 15.08.2017
comment
@Questions создает правила. Это упоминается в ссылке, которую я поделился выше.   -  person user773440    schedule 15.08.2017
comment
У меня есть таблица сотрудников, и RBAC успешно реализован. Теперь у меня есть стол Pastor. Я не могу иметь сотрудника в качестве пастора, потому что в таблице пастора есть несколько полей, отличных от таблицы сотрудников. Мне придется создать раздел для пастора. Теперь, как мне реализовать функцию входа в систему, используя эти две таблицы, и в то же время как внести изменения в таблицы RBAC?   -  person Questions    schedule 11.09.2018


Ответы (1)


Да, вы можете создать другой класс идентификации для пользователя типа администратора, следуя ссылке ниже:

Просмотрите множественное удостоверение пользователя в конфигурации Yii2

person Lakhan Singh    schedule 22.08.2017