Используйте таблицу клиентов для управления доступом на основе ролей вместо пользователя в yii2
Я хочу использовать таблицу login_info вместо таблицы user в yii2 для создания действий членов в части внешнего интерфейса, которых нет в части внутреннего интерфейса. Кроме того, у меня есть роли в таблице login_info, такие как:health-post, hospital, fchv и т. Д., Которыми нельзя управлять из user_id, но можно управлять из user_name. Есть ли у вас какие-либо идеи в yii2.
1 ответ
Если вы хотите изменить только имя таблицы (а схема таблицы похожа на таблицу пользователей yii), вы можете легко (пере) определить функцию tableName в вашем
frontend \ models User.php например: так
namespace frontend\models;
use yii\models\web\User as BaseUser;
class User extends BaseUser
{
public static function tableName()
{
return 'yuor_table_user';
}
}
Но если вы хотите определить свой компонент User на основе ваших конкретных функций, вам следует создать новый правильный класс User, который реализует интерфейс Identity. Вы можете ознакомиться с руководством по аутентификации - безопасности, пользовательским интерфейсом и классом пользователя yii для справки и примера.
Это не простая работа.