2015-10-30 2 views
3

Так что я пытаюсь использовать Laravel Authorization. Для here я следующее:Laravel: Gate :: denies not working

  • Laravel обновлена ​​* .1.19
  • создать политики Адресной книги
  • Фасад, определенный в app.php

Я создал политику и положить в него следующий код :

//Allow users of type 'users`  
public function view(User $user) 
     { 
      dd('he was here'); // Not coming here 
      return $user->user_type === 'user'; 
     } 

В контроллере я сделал:

if (Gate::denies('view')) { 
      dd('Sorry Bud not allowed'); 
     } 

Вещь, она всегда попадает в блоки 'Sorry Bud not allowed'.

Я пропустил какой-то шаг или что-то еще?

+0

ли вы когда-нибудь понять это? Я застрял на одном и том же. – Shane

+0

@Shane Я пропустил это – Volatil3

+1

@Shane Я застрял на том же. Вам удалось заставить его работать? – YahyaE

ответ

0

Вам также необходимо добавить App\Providers\AuthServiceProvider::class, в массив поставщиков в конфигурации/app.php.

1

2 вещи, чтобы проверить с воротами

Первое: Убедитесь, что ваша политика зарегистрировавшись.

Second: Если у вас есть настройка Guard в config.auth, в этом случае внутри вашего контроллера добавьте строку ниже.

config(['auth.defaults.guard','YOUR-CUSTOM-GUARD-NAME']); 

Благодаря Mage2 Ecommerce

+0

Да, этот Guard должен установить, если вы используете 2 охранника. см. https://github.com/laravel/framework/issues/12087 –