Gate :: позволяет в конструкторе контроллера laravel - PullRequest
0 голосов
/ 30 марта 2020

У меня есть эти ворота, которые проверяют, есть ли у пользователя активная подписка: Gate::allows('paid-actions')

Это работает, как и ожидалось, внутри методов, но у меня есть 10 методов и маршрутов, поэтому я подумал, что было бы легко, если бы я поставил это внутри конструктора контроллера.

Я использовал это в конструкторе: $this->middleware('can:paid-actions'); Работает, но возвращает значение по умолчанию 403 | Это неавторизованное сообщение , и я хотел бы показать свое. Если я изменю его через App\Exceptions\Handler, он будет отображаться не только для шлюза, но и когда пользователь не вошел в систему.

Я поместил его в конструктор контроллера, но, похоже, он не работает.

public function __construct() {
  if (Gate::denies('paid-actions')) {
    return view('user.not_subscribed');
  }
}```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...