我用生成器生成一個簡單的策略:爲什麼策略能力方法不會被調用?
php artisan make:policy TeamPolicy
而且,我已經在AuthServiceProvider
把它註冊爲:
protected $policies = [
Team::class => TeamPolicy::class,
];
我試圖把它稱之爲在TeamsController
爲:
$this->authorize('update', $team);
這是我的政策檔案Policies\TeamPolicy.php
as:
<?php
namespace App\Policies;
use App\Team;
use Illuminate\Auth\Access\HandlesAuthorization;
class TeamPolicy
{
use HandlesAuthorization;
/**
* Create a new policy instance.
*
* @return void
*/
public function __construct()
{
//
}
public function update(Team $team)
{
App:debug("Policy update called!");
return true;
}
}
然而,在政策的更新方法不會被調用,並呼籲$this->authorize('update', $team);
請告知,當我得到錯誤403!
您的teamcontroler的外觀如何? – Kasnady
我的TeamsController看起來像其他任何常規控制器。它有許多方法,包括編輯和更新方法,其中包含調用'$ this-> authorize('update',$ team);'輸出上述錯誤。遺憾的是,我無法與任何人分享控制器的細節,它是保密的。 – WingsOfAltair