سلام
من یه policy نوشتم که وقتی کاربر بخواد پستی که منتشر کرده را حذف کنه نتونه id کاربر دیگه را بزنه
روی لوکال هاست درست کار میکنه ولی پروژه را بردم روی سرور این مورد کار نمیکنه و وقتی حذف پست را میزنه 403 authorization میده
مشکل چیه ؟
کد policy
/**
* Determine whether the user can delete the model.
*
* @param \App\User $user
* @param \App\post $post
* @return mixed
*/
public function delete(User $user, post $post)
{
if($user->role === 'admin') return true;
return $user->id === $post->user_id;
}
کد قسمت PostController متد destroy
public function destroy(post $post)
{
$this->authorize('delete', $post);
$post->delete();
Alert::success('پست موردنظر با موفقیت حذف شد')->showConfirmButton('باشه', '#3085d6');;
return back();
}
در نسخه روی هاست آیا مطمئن هستید که user_id پست برابر با آیدی لاگین کرده هست؟ با ()dd خیلی راحت می تونید هر دو مقدار رو مشاهده کنید و با هم مقایسه کنید.
آیا اگر با نقش admin وارد بشید باز هم ارور وجود داره؟
آیا type ستون user_id تون از نوع integer هست؟ (یکبار بجای علامت === از == استفاده کنید و تست کنید)
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟