これは正しい方法であり、この「問題」を回避するには、フロントエンドとバックエンドに対して異なるセッションを宣言することです。
Yii2高度なテンプレートは、株式に含まれ、この機能を持っており、私はあなたが再びホイールを発明起動し、ちょうど高度なテンプレートにプロジェクトを移動しないようお勧めします。
勿論、管理者だけに新しいモデルと新しいテーブルを作成することができます。しかし、この新しいクラスはまだIdentityInterface
あなたAdminUserModelは次のようになります何か実装する必要があります。
namespace app\models;
use yii\db\ActiveRecord;
use yii\web\IdentityInterface
class AdminUser extends ActiveRecord implements IdentityInterface
{
/** Dont froget all the related stuff like behaviours, properties etc **/
/**
* @inheritdoc
*/
public static function tableName()
{
return 'admin_user';
}
public static function findIdentity($id)
{
return static::findOne($id);
}
public static function findIdentityByAccessToken($token, $type = null)
{
return static::findOne(['access_token' => $token]);
}
public function getId()
{
return $this->id;
}
public function getAuthKey()
{
return $this->authKey;
}
public function validateAuthKey($authKey)
{
return $this->authKey === $authKey;
}
}
をそして、あなたはこのルートを行くことに決めるならば、私もADMINUSERモデルで、通常のUserモデルを拡張するためにあなたをお勧めします多くのプロパティと機能が同じになるためです。