YII2.O学习三 前后台用户数据表分离

之前我们完成了Advanced 模板安装,也完成了安装adminlte 后台模板,这一步是针对前端和后台用户使用不同的数据库表来管理,做到前后台用户分离的效果;

复制一张user数据表并重命名为adminuser,做为后台登陆账号使用;复制前记得先注册一个账号;

复制方法是先导出user数据表,修改数据表名为adminuser后再导入数据库中即可;

登陆后台,

使用GII脚手架创建adminuser的系统模型,Adminuser

第一步:修改后台认证类为Adminuser

修改backend/config/main.php文件,找到

'user' => [
           'identityClass' => 'common\models\User',
           'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true],
      ],

修改为

'user' => [
            'identityClass' => 'common\models\Adminuser',
            'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true],
        ],

配置一个新的session

'session' => [
            // this is the name of the session cookie used for login on the backend
             'name' => 'advanced-backend',
        ],

'request' => [
            'csrfParam' => '_csrf-backend',
        ],

修改为

'session' => [
            // this is the name of the session cookie used for login on the backend
            'name' => 'PHPBACKSESSION',
            'savePath' => sys_get_temp_dir(),
        ],

'request' => [
            'cookieValidationKey' => 'asdefagesalkfjasdlkjfga',
            'csrfParam' => '_adminCSRF',
        ],

第二步:添加后台控制类

复制一份common/models/LoginForm.php 修改为AdminLoginForm.php,同时文件内类名也需要修改为AdminLoginForm类,修改类中验证用户类 User 改为Adminuser;

将user类中的相关验证函数复制到Adminuser类中,删除多余重复的函数即可;

修改SiteController类中的登陆模型类为AdminLoginFrom

猜你喜欢

转载自www.cnblogs.com/intinity/p/9333720.html