Prestashop 验证模块前端控制器ajax操作中的员工
在Prestashop 1.5中,我需要仅向员工授予在模块前端控制器中执行某些ajax操作的权限Prestashop 验证模块前端控制器ajax操作中的员工,prestashop,prestashop-1.6,prestashop-1.5,Prestashop,Prestashop 1.6,Prestashop 1.5,在Prestashop 1.5中,我需要仅向员工授予在模块前端控制器中执行某些ajax操作的权限 Context::getContext()->employee 仅在管理上下文中可用,因此模块中的前端控制器始终为空 我应该如何在模块前端控制器上下文中自动识别员工?尝试: $context = Context::getContext(); $context->employee->id = 1; 在以前版本的PrestaShop中,您可以使用Cookie->isLoggedBa
Context::getContext()->employee
仅在管理上下文中可用,因此模块中的前端控制器始终为空
我应该如何在模块前端控制器上下文中自动识别员工?尝试:
$context = Context::getContext();
$context->employee->id = 1;
在以前版本的PrestaShop中,您可以使用Cookie->isLoggedBack(),但是现在不推荐使用此方法(移动到Employee->isLoggedBack(),它仅在管理面板中工作) 检查员工是否登录到管理面板(无论您是在前端还是后端控制器中)的正确方法现在可以是:
$cookie = new Cookie('psAdmin', '', (int)Configuration::get('PS_COOKIE_LIFETIME_BO'));
$employee = new Employee((int)$cookie->id_employee);
if (Validate::isLoadedObject($employee) && $employee->checkPassword((int)$cookie->id_employee, $cookie->passwd)
&& (!isset($cookie->remote_addr) || $cookie->remote_addr == ip2long(Tools::getRemoteAddr()) || !Configuration::get('PS_COOKIE_CHECKIP')))
die('Logged In, Your code here');
else
die('User is not logged in');
正如我所说,employee仅在管理上下文(admincontroller或moduleadmincontroller)中可用,而我在模块前端控制器中。所以employee总是空的。