0
我用一个简单的事情扼杀: 如何分辨蛋糕要使用不同的前缀(路由)不同的会话配置。不同的会话为CakePHP的前缀
我有主域www.domain.tdl,我不希望前缀couriers
(www.domain.tdl/couriers)使用相同的会话配置来避免认证问题:主域和前缀使用不同身份验证配置。
所以,在我App.php,会话配置为:
'Session' => [
'defaults' => 'cake',
'timeout' => 24 * 60, //in minutes,
'cookie' => 'app_bo',
// "cookiePath" => "/mrbo", (tried with or without)
'ini' => [
"session.name" => "MR_BO",
]
],
而且我认为我可以在前缀的AppController中更改配置: 的src /控制器/快递/ AppController.php
Configure::write('Session', [
'defaults' => 'cake',
'timeout' => 24 * 60, //in minutes,
'cookie' => 'app_courier',
"cookiePath" => "/mrcourier",
'ini' => [
"session.name" => "MR_COURIER",
]
]);
ini_set('session.cookie_name', 'app_courier');
ini_set('session.cookie_path', '/mrcourier');
ini_set('session.name', 'MR_COURIER');
只使用Configure::write
没有工作,这就是为什么我添加ini_set(好像它只更新内部CakePhp配置)。
通过这样做,它的作品,而不是作品。事实上,我发现域和前缀并不相同,但是当我尝试在前缀页中登录时,没有任何内容,它会重定向到它自己。
我想这是因为之前的CakePHP我的前缀AppController中设置使用会话内部。
EDIT 这里是验证元件装载:(在一个用于前缀退出相同,只是控制器模型/控制器改变)
$this->loadComponent('Auth', [
'authorize' => ['Controller'],
'authenticate' => [
'Custom' => [
'passwordHasher' => [
'className' => 'Legacy',
],
'userModel' => 'Establishments',
'fields' => array('username' => 'login', 'password' => 'password'),
"salt" => "salt" // Relative field for SALT
],
],
'loginAction' => [
'controller' => 'establishments',
'action' => 'login'
],
'loginRedirect' => [
'controller' => 'pages',
'action' => 'dashboard'
],
'logoutRedirect' => [
'controller' => 'establishments',
'action' => 'login',
]
]);
Caould您发布验证的配置,可以帮助 –
对不起,我不在那里。只是做了!但我不认为它在这里相关。 – azerto00