/**
* Run the request filter.
*
* @param Request $request
* @param \Closure $next
* @param string $context
*
* @return mixed
*/
public function handle(Request $request, \Closure $next, $context)
{
list($context, $privacy) = $this->parseContext($context);
$this->securityContext->bindContext($context, $request);
try {
$this->applySecurity($context, $privacy, $request);
$response = $next($request);
} catch (Unauthenticated $e) {
$response = $this->redirector->guest($this->getLoginUrl($context));
}
$this->garbageCollect($this->securityContext->getSecurity($context), $this->securityContext->getConfigurationFor($context));
return $response;
}