Ben basit bir politika oluşturmak için jeneratör kullandık:İlke yeteneği yöntemi neden aranmıyor?
php artisan make:policy TeamPolicy
Ve ben AuthServiceProvider
bunu kaydedildi:
protected $policies = [
Team::class => TeamPolicy::class,
];
ben bunu aramaya çalıştım TeamsController
olarak:
$this->authorize('update', $team);
Benim politika dosyam Policies\TeamPolicy.php
olarak yazılmıştır:
<?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;
}
}
Ancak ilkesinde güncelleme yöntemi denir ve $this->authorize('update', $team);
bildiriniz çağrılırken hatasını 403 olsun asla!
Takım işleyiciniz nasıl görünüyor? – Kasnady
TeamsController diğer normal denetleyicilere benziyor. '$ This-> yetkilendirmesini (' update ', $ team)' içeren çağrıyı içeren düzenleme ve güncelleme yöntemleri de dahil olmak üzere pek çok yönteme sahiptir: 'yukarıdaki hata çıktılarını verir.Ne yazık ki, denetleyicinin özelliklerini kimseyle paylaşamıyorum. bu gizlidir. – WingsOfAltair