Вы правы, есть лучший способ справиться с этим. Дублирование вашей системы пользователя / регистрации - неправильный путь.
Вам необходимо изменить TankAuth, включив в него столбец типа пользователя, а затем проверить этот тип пользователя. Я бы предложил новый столбец в таблице 'users' для 'user_role':
https://github.com/ilkon/Tank-Auth/blob/master/schema.sql
Вы можете обрабатывать user_type как int или enum. Я бы склонялся к int, так как enum сложнее изменить позже. Вы также можете добавить новую таблицу для user_roles, но я обычно просто храню их в файле конфигурации.
После изменения схемы вам необходимо добавить ссылку на новый столбец (вместе с возможными параметрами) в коде Tank_Auth. Вам нужно будет включить его в создание, обновление (данные передаются в модель из контроллера аутентификации резервуара: controllers / auth.php) и функции поиска. Я бы добавил поиск по user_role также в модель tank_auth (application / models / tank_auth / users.php):
function get_user_by_role($role)
{
$this->db->where('LOWER(user_role)=', strtolower($role));
$query = $this->db->get($this->table_name);
if ($query->num_rows() == 1) return $query->row();
return NULL;
}
Наконец, вы захотите установить роль пользователя для сеанса при входе в систему, чтобы вы могли отслеживать тип пользователя (и какой контент / функциональность у них есть доступ).
Я сам использовал Tank_Auth для нескольких проектов.