Prestashop:会话 cookies 和登录

问题描述 投票:0回答:1

我需要一些有关为 Prestashop 进行集中登录(前台)的基础知识的帮助 - 一个单独的登录页面。

我安装了包含多个商店(多商店)的 Prestashop。我尝试过 Webservices API,但没有找到任何方法来处理登录和会话 cookie。我该怎么做?

例如: 在我的 Prestashop 中,我有三个具有三个不同 URL 的商店,例如:

A => mydomain.com/a
B => mydomain.com/b
C => mydomain.com/c

当客户浏览到 URL mydomain.com(域顶部)时,将出现登录页面。

用户登录并被重定向到他/她注册的商店。

因此,为了开始我的项目,我想知道如何通过 Prestashop 之外的页面登录用户。我可以从 PS 加载类并在外部使用它们吗?

更新1: 我尝试从 mydomain.com/login/cookie.php 检索 cookie 数据:

include_once('../config/config.inc.php');
include_once('../config/settings.inc.php');
include_once('../classes/Cookie.php');
$cookie = new Cookie('ps'); // Use "psAdmin" to read an employee's cookie

if(!$cookie->isLogged()){
  echo ("Please login");
  exit;
}
else{
  echo ("Logged in as: ".$cookie->customer_lastname." ".$cookie->customer_firstname);
}

虽然我在我的其中一个商店 (mydomain.com/b) 登录,但代码 (mydomain.com/login/cookie.php) 说我没有登录。我做错了什么

更新2: 这有效,但仅适用于第一家商店。我无法从同一商店组中的其他商店收集数据。

include_once('../config/config.inc.php');
include_once('../config/settings.inc.php');
include_once('../classes/Cookie.php');
$lastname=Context::getContext()->customer->lastname;

if(!Context::getContext()->customer->isLogged()){
    echo "Please login";
    exit;
}
else{
    echo "Logged in as".$lastname;
    exit;   
}
php http-redirect authentication prestashop centralized
1个回答
0
投票

密码在 prestashop config.ini.php 中是 SALTED,您可能有不同的版本,它们对 cookie 的编码不同。

© www.soinside.com 2019 - 2024. All rights reserved.