我有两个前缀,我在每个前缀的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();
}
}
答案 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。