来自不同前缀的Auth相互干扰

时间:2017-10-20 21:00:39

标签: php session authentication cakephp-3.0

我有两个前缀,我在每个前缀的AuthComponent中单独设置AppController,每个前缀的Auth logic 完全不同。< / p>

每个前缀都有一个特定的AppController,每个前缀controllers的所有extends都是其所属前缀的特定AppController

以下是问题... 当我在前缀A上登录时会覆盖前缀Auth session data的{​​{1}},所以,如果我在前缀{ {1}}我也在前缀B上登录,因为我说前缀完全不同,应该更改覆盖当时的A

我需要的是,当我登录其中一个前缀时,它会在不同的B或相互调用的任何地方创建会话数据。

AppController的

session data

来自仪表板前缀的AppController

namespace

来自管理员前缀的AppController

<?php

namespace App\Controller;

use Cake\Controller\Controller;

class AppController extends Controller
{

    public function initialize()
    {
        parent::initialize();
    }


}

1 个答案:

答案 0 :(得分:0)

如上所述,这两个登录的信息将存储在会话的同一区域,因此会覆盖另一个。您可以将存储配置为使用不同的密钥:

'storage' => ['className' => 'Session', 'key' => 'Auth.Dashboard']

VS

'storage' => ['className' => 'Session', 'key' => 'Auth.Admin']

有关详细信息,请参阅https://book.cakephp.org/3.0/en/controllers/components/authentication.html#configuration-options