Hanan Fahad2 نشر 26 يونيو 2021 أرسل تقرير نشر 26 يونيو 2021 لما اكتب الكود بهذه الطريقة abort_if(Gate::denies('user_create'), Response::HTTP_FORBIDDEN, '403 Forbidden'); هل هو نفس فكرة Gate::define('create-post', function (User $user, Category $category, $pinned) { if (! $user->canPublishToGroup($category->group)) { return false; } elseif ($pinned && ! $user->canPinPosts()) { return false; } return true; }); 1 اقتباس
0 Adnane Kadri نشر 26 يونيو 2021 أرسل تقرير نشر 26 يونيو 2021 ليس تماما . ففي الشيفرة الأولى : abort_if(Gate::denies('user_create'), Response::HTTP_FORBIDDEN, '403 Forbidden'); أو يكفي : abort_if(Gate::denies('user_create'), 403); أو أيضا : abort_unless( !Gate::denies('user_create'), 403); نحن نقوم بمنع المستخدم من الوصول إلى حدث معين في حالة رفض البوابة Gate ذلك . لكن ما نقوم به هنا : Gate::define('create-post', function (User $user, Category $category, $pinned) { if (! $user->canPublishToGroup($category->group)) { return false; } elseif ($pinned && ! $user->canPinPosts()) { return false; } return true; }); ضمن التابع boot في ملف App\Providers\AuthServiceProvider هو تعريف للترخيص create-post . و لتوضيح العلاقة أكثر بين الشيفرتين ينبغي ذكر أنه : يتم التحكم في صلاحيات و تراخصي المستخدمين عن طريق البوابات Gates , بحيث يتم تعريف البوابة بإستعمال الواجهة Gate ضمن ملف AuthServiceProvider.php في التابع boot على هذا النحو : <?php use App\Models\User; use Illuminate\Support\Facades\Gate; /** * تسجيل أية خدمات ترخيص * * @return void */ public function boot() { $this->registerPolicies(); # تعريف البوابة Gate::define('access-db', function () { # إعادة القيمة البوليانية المسجلة في العمود المستهدف return auth()->user()->is_admin; }); } بعد ذلك يأتي إستعمالها في ترخيص الأحداث بإستعمال التابعين allows و denies على هذا النحو : public function index() { if (! Gate::allows('access-db')) { abort(403); } return view('admin_db); } أو إختصارا : public function index() { abort_if (! Gate::allows('access-db') ,403); return view('admin_db); } اقتباس
0 Hanan Fahad2 نشر 2 يوليو 2021 الكاتب أرسل تقرير نشر 2 يوليو 2021 Gate::allows('access-db' allows ايش فايدتها هل تشوف اذا مسموح له او لا او انها زي define مافهمت الفروق اقتباس
السؤال
Hanan Fahad2
لما اكتب الكود بهذه الطريقة
هل هو نفس فكرة
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.