Я хочу использовать две разные таблицы для входа. Один для пользователей и один для входа в систему. В настоящее время существует только один пользователь таблицы, и я использую yii, встроенный в RBAC, и все работает нормально. Теперь я хочу добавить вторую таблицу "Персонал" для входа без RBAC. Поэтому во время входа в систему он сначала проверяет имя пользователя в таблице "Пользователи", и если он его не будет, он будет проверять таблицу "персонал", а затем проверять пароль. Я смог логически логически войти в систему. Но теперь проблема RBAC. Таблица "AuthAssignment" имеет userid как внешний ключ таблицы "users", поэтому, если идентификатор штата имеет соответствующий идентификатор в таблице "users", система будет предоставлять доступ в соответствии с ролью таблицы "пользователей". Как я могу избежать этого, если логин из таблицы сотрудников. Можно ли различать роль для таблицы "персонал" или можно ли не использовать роль для таблицы "персонал".
Пожалуйста помоги. Заранее спасибо.
Лучше иметь одну таблицу для логинов (из-за FK и отношений).
[user]
ID | username | password | type
Вместо таблицы с информацией о персонале и пользователях с различными полями:
[staff]
ID | user_id | workstation_id | favorit_tool | ...
[user_info]
ID | user_id | name | surname | address | ...
Чем в Yii вы можете делать отношения:
[userModel]
public function relations() {
return [
'stuff' => [self::BELONGS_TO, 'stuff', 'user_id', 'condition' => 'type = '.static::TYPE_STUFF],
'info' => [self::BELONGS_TO, 'user_info', 'user_id',
];
}