そうです、これを処理するためのより良い方法があります。ユーザー/登録システムを複製するのは間違った方法です。
ユーザータイプ列を含めるようにTankAuthを変更してから、そのユーザータイプを確認する必要があります。'user_role'の'users'テーブルに新しい列を提案します。
https://github.com/ilkon/Tank-Auth/blob/master/schema.sql
user_typeはintまたはenumとして処理できます。列挙型は後で変更するのが難しいので、私はintに傾倒します。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を自分で使用しました。