Użyłem generatora do generowania prostych zasad:Dlaczego nie można wywołać metody Policy?
php artisan make:policy TeamPolicy
I Zarejestrowałem go w AuthServiceProvider
jak:
protected $policies = [
Team::class => TeamPolicy::class,
];
Próbowałem zadzwonić go w TeamsController
jak:
$this->authorize('update', $team);
Oto mój plik zasad Policies\TeamPolicy.php
jako:
<?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;
}
}
Jednak metoda zmiana w polityce nigdy nie jest nazywany, i dostaję błąd 403 podczas wywoływania $this->authorize('update', $team);
Proszę doradzić!
Jak wygląda Twój teamcontroler? – Kasnady
My TeamsController wygląda jak każdy inny kontroler regularny. Ma wiele metod, w tym metody edycji i aktualizacji, które zawierają wywołanie '$ this-> authorize ('update', $ team);', które wyprowadza powyższy błąd. Niestety, nie mogę udostępnić specyfikacji kontrolera nikomu takiemu jak jest poufne. – WingsOfAltair