سلام به همه دوستان
من یه 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 () {});
ممنون میشم اگه نکته ای هست اشاره کنید.
سلام خسته نباشید
ببین من برای کنترلر یه کار دیگه میکردم
$this->authorize('index' , Post::class);
ببین در قسمت اول نام فانکشن در قسمت بعدی مدل که ست کردی در provider
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟