我有 2 个不同的表user
,organiser
并且我正在尝试为两个用户创建 2 个不同的登录名。
我可以轻松地注册它们并在数据库中获取记录,但是在保存记录后,我在以下代码行中收到错误
if ($user = $model->signup()) {
if (Yii::$app->getUser()->login($user)) { //yii\web\IdentityInterface error
return $this->goHome();
}
}
以下是我的configuration
模块
'components' => [
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
'identityCookie' => [
'name' => '_frontendOrganiser', // unique for frontend
],
],
'users' => [
'class' => 'yii\web\User',
'identityClass' => 'common\models\Users',
'enableAutoLogin' => false,
'enableSession' => true,
'identityCookie' => [
'name' => '_frontendUser', // unique for frontend
],
],
'session' => [
'name' => 'PHPFRONTSESSID',
'savePath' => sys_get_temp_dir(),
],
]
那么我在这里做错了什么?我是否需要创建任何其他接口或其他东西或为不同的模块提供不同的接口?
我必须这样做,因为organiser
表使用password_hash
技术来登录我的user
表来自另一个项目的用户并且他们使用md5
技术,所以我必须为两个用户创建单独的模块。
传递给 yii\web\User::login() 的参数 1 必须是 yii\web\IdentityInterface 的实例,给定的 common\models\Users 的实例,在 C:\xampp\htdocs\project\frontend\controllers\SiteController 中调用.php 在第 202 行并定义
确切的错误陈述如上。