Shopware 6 授权客户

Shopware 6 Authorize customers

我想创建一个控制器来为特定的客户群提供可下载的文件。我需要对客户进行身份验证并检查他们是否已获得授权。

我检查了上下文和 HTTP header,但找不到有关客户的有价值数据。

什么是合适的方法?

我能够使用销售渠道上下文检索客户。

我用过

$event->getSalesChannelContext()->getCustomer();

要将对您自己的路由的访问限制为仅登录的客户,您可以使用 @LoginRequired 注释,例如:

    /**
     * @LoginRequired()
     * @Route("/account", name="frontend.account.home.page", methods={"GET"})
     */
    public function index(Request $request, SalesChannelContext $context, CustomerEntity $customer): Response

在幕后,注释还将检查 SalesChannelContext 的当前客户。

获取当前客户的客户群,您提出的解决方案是:

$salesChannelContext->getCustomer()->getGroup();