yii2高级版,退出的时候报400错误。

前后台分理离需要在各自的配置文件main.php中设置component的user组件中identityCookie参数和idParam参数,否则当管理员登录了前台的账号的时候,再登录后台,前台账号的会话信息会被覆盖。
前台frontend配置如下:

components=>[
    'user'=>[
        'identityClass' => 'frontend\models\User',
        'enableAutoLogin' => true,
        'identityCookie' => ['name' => '_identity-frontend', 'httpOnly' => true],
        'idParam'=>'_user',
    ]
]

后台backend配置如下:

components=>[
    'user'=>[
        'identityClass' => 'backend\models\Admin',
        'enableAutoLogin' => true,
        'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true],
        'idParam'=>'_admin',
    ]
]

解决退出报400错误的问题:
假设我们在同一个浏览器打开backend和frontend,打开浏览器控制台,yii2默认配置会有个cookie名为_csrf的cookie,我们刷新打开的frontend前台页面,发现它的值并没有改变,而当我们刷新后台backend的时候,此时名为_csrf的cookie的值就改变了。到这儿,相信我们就发现问题所在了。此时我们只需要配置下这个_csrf的名字就行了。打开前后台的配置文件,分别如下配置

components=>[
    'request'=>[
        'csrfParam'=>'_csrf_backend'
    ]
]
components=>[
    'request'=>[
        'csrfParam'=>'_csrf_frontend'
    ]
]

保存后删除当前网站的cookie,刷新页面。应该就能解决这个问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值