我想创建一个控制器,用于向特定客户组提供可下载文件。我需要对客户进行身份验证并检查他们是否获得授权。
我检查了上下文和 HTTP 标头,但我无法找到有关客户的有价值的数据。
什么是合适的方法?
我能够使用 SalesChannelContext 检索客户。
我用了
$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();