重现步骤:
- 1.转到主页。
- 2.单击标题中的“Login” 。
- 3.输入登录凭据以进入客户帐户。
- 4.单击网站徽标返回主页。
- 5.注意在主页上标题仍显示“Sign In”而不是显示客户退出登录的“Sign Out”链接。
这个问题一般都是缓存引起的。着重检查流程中缓存相关的地方。下面几个方法着重检查:
\Magento\Customer\Block\Account\AuthorizationLink::isLoggedIn()
\Magento\Customer\Block\Account\Customer::customerLoggedIn()
# 上面两个方法都通过 \Magento\Framework\App\Http\Context 来判断是否登录,
# 在启用 PageCache 后可能会缓存登录状态,从而导致返回状态不准确。
其他原因和解决方法: