Yii2:前端和后端单独会话的数据混乱


Yii2: messed up data for separate sessions for frontend and backend

我登录后端,但由于某种原因,数据是从user模型而不是从admin模型加载的;

admins有自己的db table, users有自己的db table;

连接没有切换到db tables;

通过使用admin id,它用相同的id加载user data;

我在frontend上使用这个配置:

    'components' => [
        'session' => [
            'name' => 'session_frontend',
        ],
        'user' => [
//            'stateKeyPrefix' => 'frontend_stateKeyPrefix',
            'identityClass' => 'common'models'User',
            'enableAutoLogin' => true,
        ],

backend的配置:

    'components' => [
        'session' => [
            'name' => 'session_backend',
        ],
        'user' => [
//            'stateKeyPrefix' => 'backend_stateKeyPrefix',
            'identityClass' => 'common'models'Admin',
            'enableAutoLogin' => true,
        ],

我实际上认为您添加的stateKeyPrefix作为评论确实可以解决问题,但这只适用于1。似乎是X。为2。X的解决方案有点不同:

    'components' => [
        'user' => [
            'identityClass' => 'common'models'User',
            'enableAutoLogin' => true,
            'idParam' => 'frontend__id'
        ],

你可以在__id上留下一个或改变两个,这是你想要的。