Как мне реализовать авторизацию в Laravel 5.6

Я успешно реализовал авторизацию в laravel 5.3. Но в Laravel 5.6 такой метод политики, как index, view, ... не работает, и Laravel не вызывает эти методы в политике. Зачем?

Контроллер:

public function index($member)
{
   $this->authorize(Time::find($member));
   ...
}

AuthServiceProvider:

 protected $policies = [
        User::class => UserPolicy::class,
        Time::class => TimePolicy::class,
    ];

TimePolicy:

  public function index(User $user, Time $time)
    {
        if ($time->member_id == $user->id)
            return true;
    }

    public function view(User $user, Time $time)
    {
        if ($time->member_id == $user->id) {
            return true;
        }
    }

Почему Laravel 5.6 не вызывает связанный метод политики?

Не должно быть: $this->authorize('index', Time::find($member));

Helder Lucas 12.05.2018 23:59

Нет, это не работает, проблема возникла для всех политик, когда я обновился с Laravel 5.3 до 5.6.

ivahidmontazer 13.05.2018 10:18

Вы получаете ошибку или просто игнорируете вызов метода?

Helder Lucas 13.05.2018 11:53

Вызов метода @Helder Lucas просто игнорируется, и выдается ошибка 403.

ivahidmontazer 13.05.2018 11:57

@Helder Lucas проблема решена. Это был забытый код!

ivahidmontazer 13.05.2018 16:09
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
151
1

Ответы 1

Я забыл использовать пространства имен Model в верхней части AuthServiceProvider. Проблема решена ;)

Другие вопросы по теме