Php Yii2基本模板,用于为前端和;后端

Php Yii2基本模板,用于为前端和;后端,php,session,yii2,yii2-basic-app,Php,Session,Yii2,Yii2 Basic App,我正在使用Yii2基本模板创建一个管理面板。 对于管理员登录,我使用了useridentity类和yii的默认用户模型 现在我必须为前端创建登录名。我应该怎么做才能单独登录,这样我就可以在前端和后端的同一浏览器中登录 在基本模板中,我面临相同标识类和模型的问题 我必须为管理员和前端用户使用相同的数据库用户表 请建议管理此问题的最佳方法。这实际上是正确的方法,解决此“问题”的方法是为前端和后端声明不同的会话 Yii2高级模板在库存中包含此功能,我建议您不要再开始发明轮子,只需将您的项目移动到高级模

我正在使用Yii2基本模板创建一个管理面板。 对于管理员登录,我使用了
useridentity
类和yii的默认用户模型

现在我必须为前端创建登录名。我应该怎么做才能单独登录,这样我就可以在前端和后端的同一浏览器中登录

在基本模板中,我面临相同标识类和模型的问题

我必须为管理员和前端用户使用相同的数据库用户表


请建议管理此问题的最佳方法。

这实际上是正确的方法,解决此“问题”的方法是为前端和后端声明不同的会话

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模型中扩展常规用户模型,因为许多属性和功能都是相同的。

我建议使用模块创建管理面板