راکت

کار نکردن Policy در لاراول

1 پاسخ

سلام به همه دوستان
من یه Policy نوشتم اما وقتی متد در کنترلر Call میشه. هیچ اتفاقی نمی افته یعنی نمی ره سمت policy. با اینکه به نظر همه چیز درست پیش رفته.

این Policy

    public function create(User $user)
    {
        return $user->role == 'admin'
        ? Response::allow('Allowed to create') 
        : Response::deny('You have no access',401);
    }

این AuthServiceProvider

    protected $policies = [
        'App\Quiz' => 'App\Policies\QuestionPolicy',
        'App\Answer' => 'App\Policies\QuestionPolicy',
        'App\Course' => 'App\Policies\CoursePolicy',
    ];

    /**
     * Register any authentication / authorization services.
     *
     * @return void
     */
    public function boot()
    {
        $this->registerPolicies();

        //
    }

این متد در Controller

        $response = Gate::inspect('create');
        dd($response);

این خروجی که واقعا اگه درست باشه باید message رو هم بیاره ولی نیست.

Illuminate\Auth\Access\Response {#1251 ▼
  #allowed: false
  #message: null
  #code: null
}

این API

Route::post('/course','CourseController@create');

البته Route بالا داخل

Route::middleware(['auth:sanctum'])->group(function () {});

ممنون میشم اگه نکته ای هست اشاره کنید.

ثبت پرسش جدید

پاسخ‌ها

1
میلاد خسروی
میلاد خسروی
@milwad

تخصص: برنامه نویس بامزه

سلام خسته نباشید
ببین من برای کنترلر یه کار دیگه میکردم

$this->authorize('index' , Post::class);

ببین در قسمت اول نام فانکشن در قسمت بعدی مدل که ست کردی در provider

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام