Промежуточное ПО Laravel для подписки

Я пытаюсь написать промежуточное программное обеспечение в Laravel 5, которое будет проверять, есть ли у пользователя подписка, и не отменяется ли она. Если он не существует или отменен, то они будут заблокированы на одной странице (биллинг). Проблема, я в конечном итоге в цикле перенаправления. Я понимаю почему, но я просто не могу понять, что делать правильно. заранее спасибо

public function handle($request, Closure $next)
{if (\Auth::check())
{
// if subscription does not exist
if (\Auth::user()->hospital->subscription == null || \Auth::user()->hospital->subscription !== 'Active') {
return redirect('billing');
}

}
return $next($request);
}

1

Решение

Проблема, я в конечном итоге в цикле перенаправления.

Похоже, вы применяете промежуточное ПО во всем приложении, включая страницу оплаты. Таким образом, вам нужно указать, где должен рассматриваться класс промежуточного программного обеспечения, это может быть достигнуто в /app/Http/kernel.php,

Кроме того, вы можете сделать дополнительную проверку на ваших промежуточных классах, таких как:

// billing (http://example.com/billing)
$path = $request->path();

if ($path !== 'billing')
{

if (\Auth::check())
{
// if subscription does not exist
if (\Auth::user()->hospital->subscription == null || \Auth::user()->hospital->subscription !== 'Active') {
return redirect('billing');
}

}
}
return $next($request);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]