Используйте таблицу клиентов для управления доступом на основе ролей вместо пользователя в 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 для справки и примера.

Это не простая работа.

Другие вопросы по тегам