Prestashop 验证模块前端控制器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

在Prestashop 1.5中,我需要仅向员工授予在模块前端控制器中执行某些ajax操作的权限

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总是空的。