我想安裝Yii2像傳統的用戶/管理系統一樣先進。前端將是/用戶,後端將是/ admin,並將使用數據庫中的相應表(用戶和管理員)。我沒有將前端和後端重命名爲用戶和管理員。Yii2高級 - 使後端使用'管理'表和'管理'模型
使用migrate生成'user'表及其所有字段。我註冊創建一個新用戶,所有這些都很完美。然後我複製'user'表並將其命名爲'admin',並將用戶名更改爲admin。我可以更改密碼,或截斷它,註冊新的管理員用戶,然後從後端刪除註冊。在數據庫本身的管理表本身並不是問題,因爲我沒有得到那麼遠,當我達到錯誤..
我已經安裝和使用Yii2先進就好了在它的前端(用戶)的一面。當然,你有Yii :: $ app-> user,它在前端工作得很好。我可以登錄,它使用'用戶'表。前端工程很好...
現在在後端(管理員)我需要它使用'管理員'表。我知道你指定了在模型中使用的表格。我複製了/common/models/User.php並且擁有/common/models/Admin.php,並且更新了該函數以代替使用'admin'表。
我也複製/vendor/yiisoft/yii2/web/User.php並把它放在/common/models/web/Admin.php(從用戶到管理員改名類的名稱)
然後,我編輯了/backend/config/main.php以反映Admin(class和identityClass)的更改。
/backend/config/main.php
'components' => [
'admin' => [
'identityClass' => 'common\models\Admin',
'class' => 'common\models\web\Admin',
'enableAutoLogin' => true,
],
],
/common/models/web/Admin.php
class Admin extends Component { ... }
/普通/模型/管理員.php
class Admin extends ActiveRecord implements IdentityInterface {
public static function tableName()
{
return '{{%admin}}';
}
}
錯誤:User::identityClass must be set.
< - 正如你所看到的,它仍然引用了用戶模型的一些如何......
此外,當我得到這個設置,我會使用的Yii :: $ APP->管理員而不是Yii :: $ app-> user?就像檢查他們是否使用isGuest登錄一樣。
我想確保用戶無法登錄到前端,然後手動轉到後端並登錄!