Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento2仅在多个网站上共享用户登录_Magento_Magento2 - Fatal编程技术网

Magento2仅在多个网站上共享用户登录

Magento2仅在多个网站上共享用户登录,magento,magento2,Magento,Magento2,我正在尝试为一组网站实现多网站的公共登录。 假设我们有一个网站,其中有多种货币和每个网站有不同的付款,价格和库存 示例:uae.abc.com、in.abc.com、uk.abc.com所有网站应属于abc.com。网站组应具有通用登录名,类似于xyz.com网站 如果我们尝试使用客户范围作为全局用户注册用户可以登录到所有站点,无论是否在组中,尝试使用下面的代码修复使用客户范围作为网站访问同一组 我已覆盖Magento\Customer\Model\Config\Share 公共函数是websi

我正在尝试为一组网站实现多网站的公共登录。 假设我们有一个网站,其中有多种货币和每个网站有不同的付款,价格和库存

示例:uae.abc.com、in.abc.com、uk.abc.com所有网站应属于abc.com。网站组应具有通用登录名,类似于xyz.com网站

如果我们尝试使用客户范围作为全局用户注册用户可以登录到所有站点,无论是否在组中,尝试使用下面的代码修复使用客户范围作为网站访问同一组

我已覆盖Magento\Customer\Model\Config\Share

公共函数是websitescope()
{
if(在数组中($this->\u storeManager->getStore()->getId(),[1,2,3,4])){
返回0;
}
if(在数组中($this->\u storeManager->getStore()->getId(),[5,6,7,8])){
返回0;
}
返回$this->\u config->getValue(
self::XML\u PATH\u CUSTOMER\u ACCOUNT\u SHARE,
\Magento\Store\Model\ScopeInterface::SCOPE\u Store
)==self::SHARE\u网站;
}
但是登录不起作用,有人能帮我吗。
提前感谢

如果您想为所有多个门店提供单一账户,您必须执行以下操作:

1共享客户帐户

您可以在此处配置此功能:系统->配置->客户配置->共享客户帐户

  • 在Magento网站之间共享会话
  • 有3种可能的存储配置:

    如果您的网站位于一个域中,但位于不同的目录中,例如“www.example.com/stores/store1”和“www.example.com/stores/store2”,则可以在系统->配置->Web->会话Cookie管理中设置“/stores/”的“Cookie路径”

    如果您的网站位于不同的子域中,例如“store1.example.com”和“store2.example.com”,您可以在系统->配置->Web->会话Cookie管理中将“Cookie域”设置为“.example.com”

    如果您有不同的域,在这种情况下,您可以将会话ID添加到另一个存储的URL中。使用此结构“Mage::getModel('core/url')->addSessionParam()->getUrl('…')”来获取带有会话参数的url


    之后,您的客户将能够在多个商店Magento网站之间切换,而无需重新登录。换句话说,如果客户登录一个Magento网站,他将能够使用他的第一个商店帐户查看另一个多商店Magento网站。

    如果您想为所有多商店使用单一帐户,则必须执行以下操作:

    1共享客户帐户

    您可以在此处配置此功能:系统->配置->客户配置->共享客户帐户

  • 在Magento网站之间共享会话
  • 有3种可能的存储配置:

    如果您的网站位于一个域中,但位于不同的目录中,例如“www.example.com/stores/store1”和“www.example.com/stores/store2”,则可以在系统->配置->Web->会话Cookie管理中设置“/stores/”的“Cookie路径”

    如果您的网站位于不同的子域中,例如“store1.example.com”和“store2.example.com”,您可以在系统->配置->Web->会话Cookie管理中将“Cookie域”设置为“.example.com”

    如果您有不同的域,在这种情况下,您可以将会话ID添加到另一个存储的URL中。使用此结构“Mage::getModel('core/url')->addSessionParam()->getUrl('…')”来获取带有会话参数的url


    之后,您的客户将能够在多个商店Magento网站之间切换,而无需重新登录。换句话说,如果客户登录一个Magento网站,他将能够使用他的第一个商店帐户看到另一个多商店Magento网站。

    我认为浏览器内容安全策略或网站XSS预防都会禁止这一点。您可以尝试使用基于Microsoft的登录系统,这样您就可以从第三个数据库中检索用户数据,该数据库只允许添加数据的帐户访问数据。然后,您还将获得Microsoft安全性的所有好处。

    我认为浏览器内容安全策略或网站XSS预防都会禁止这种做法。您可以尝试使用基于Microsoft的登录系统,这样您就可以从第三个数据库中检索用户数据,该数据库只允许添加数据的帐户访问数据。然后,您还将获得Microsoft安全性的所有好处。

    适用于magento 1需要为有限的网站共享同一会话需要为magento 2适用于magento 1需要为有限的网站共享同一会话需要为magento 2