나는 간단한 정책을 생성하는 발전기를 사용했다 :정책 기능 메서드가 호출되지 않는 이유는 무엇입니까?
php artisan make:policy TeamPolicy
을, 나는대로 AuthServiceProvider
에 그것을 등록 :
protected $policies = [
Team::class => TeamPolicy::class,
];
나는에 전화를 시도 TeamsController
로 :
$this->authorize('update', $team);
여기 내 정책 파일 Policies\TeamPolicy.php
은 다음과 같습니다.
<?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 얻을 않습니다!
팀 제어 기는 어떻게 생겼습니까? – Kasnady
My TeamsController는 다른 일반 컨트롤러와 비슷합니다. 그것은'$ this-> authorize ('update', $ team);라는 호출을 포함하는 편집 및 업데이트 메소드를 포함하는 많은 메소드를 가지고 있는데, 위에서 언급 한 에러를 출력합니다. 불행히도, 컨트롤러의 특성을 다음과 같이 다른 사람들과 공유 할 수는 없습니다. 그것은 기밀입니다. – WingsOfAltair