Делаю учебный проект - корпоративный сайт. В курсе версия фреймворка 5.2, но я опрометчиво решил делать тоже самое на 5.4
В сервис-провайдере app/Providers/AuthServiceProvider.php в методе boot() следующий код:
public function boot()
{
$this->registerPolicies();
Gate::define('VIEW_ADMIN', function ($user){
return $user->canDo('VIEW_ADMIN');
});
}
Метод canDo() не определен в провайдере и если код выполнялся бы, то я бы видел соответствующее исключение, но его нет. Он просто игнорируется. Хотя в документации такая же конструкция используется (https://laravel.com/docs/5.4/authorization). Подскажите, где я допустил оплошность?
В сервис-провайдере вы только устанавливаете права, но не проверяете, в вашем случае просто записалось правило с названием VIEW_ADMIN
и анонимная функция, но она не выполняется.
Вот если бы вы потом где то обратились к этому правилу:
if (Gate::allows('VIEW_ADMIN')) {
// Ваше действие
}
Вот тогда бы вызвалась ваша анонимная функция и отработал код:
$user->canDo('VIEW_ADMIN');
Не дочитали вы немного документацию, остановились на определении правил.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Суть идеи таковаДопустим есть форма на сайте, туда загружаем файл и нажимаем условный "отправить" и файл уходит на почту,на подобии как в пхп...
Есть форма из которой берутся данные в бд, работают все строки формы кроме этого чекбокса(html код):
При обращении на http://localhost/about я получаю 404 не найдено , знаком с данной ошибкой но не пойму каких настроек у меня не хватает ?