2015-10-30 67 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件事與門檢查

    首先:確保您的政策正在註冊。

    第二:如果您在config.auth中設置了自定義Guard,那麼在您的控制器中添加下面的行。

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

    感謝 Mage2 Ecommerce

    +0

    是的,如果您使用2守護,那麼守衛必須注意。請參閱https://github.com/laravel/framework/issues/12087 –