Hanan Fahad2 نشر 22 يونيو 2021 أرسل تقرير نشر 22 يونيو 2021 ابغا بكج صلاحيات وابغا استخدم BOOTSTAP لان juststreem مافيه بوت ستراب والحل ابغا بكجات صلاحيات 2 اقتباس
0 محمد أبو عواد نشر 22 يونيو 2021 أرسل تقرير نشر 22 يونيو 2021 يمكنك تضمين ملفات بوتستراب بشكل طبيعي في ملف app.blade.php من الموقع الرسمي لبوتستراب, يمكنك الذهاب اليه من هنا, يمكنك نسخ الملفات من هنا أيضا ملف css <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous"> ملفات جافاسكربت <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"></script> يمكنك استخدام بوتستراب بشكل طبيعي بعد ذلك أما بالنسبة حزمة صلاحيات, يمكنك استخدام حزمة Laratrust فهي رائعة وتتيح لك ادارة الصلاحيات بشكل رائع, يمكنك تثبيتها باستخدام الأمر التالي composer require santigarcor/laratrust ثم لاستخراج الملفات الخاصة بالحزمة php artisan vendor:publish --tag="laratrust" ثم نقوم بعمل setup php artisan laratrust:setup ثم نقوم باعادة تحميل الملفات الخاصة بالمشروع من خلال الأمر composer dump-autoload ثم تهجير الملفات الخاصة بقواعد البيانات php artisan migrate يمكنك قراءة المزيد عنها من الموقع الرسمي لها ويمكنك الذهاب اليه من هنا اقتباس
0 Adnane Kadri نشر 22 يونيو 2021 أرسل تقرير نشر 22 يونيو 2021 يمكنك التعامل مع الصلاحيات في لارافل عن طريق واحدة من الحزم : laravel-permission من مجموعة spatie . bouncer من JosephSilber . entrust من Zizaco . roles من romanbican . laravel-acl من kodeine . laratrust من santigarcor . تتشابه طريقة عمل هاته الحزم في الفكرة الأساسية و تختلف من حيث بعض المميزات الإضافية . و رغم كل ذلك يمكنك التعامل مع الصلاحيات دون الإستعانة بأي حزمة عن طريق مميزات مبنية ضمن اللارافل نفسه من مثل البوابات Gates و السياسات Policies . كما أحب التعامل مع هذا المفهوم بشكل منفصل و مرن أكثر عن طريق معاملة مجموعات الصلاحيات كنموذج Model و كجدول بقواعد البيانات , ثم إنشاء طبقات وسيطة Middlewares , بناءا على هذا الأخير , تقوم بالتحقق من إمتلاك المستخدم الموثق الحالي لمجموعة صلاحيات أو لا , ثم التحقق إن كانت هاته المجموعة تمتلك صلاحية ما و هكذا .. أي أن الأمر ممكن بكل الطرق , فكلها تشترك في المفهوم الأساسي و تتفاوت فيما بينها من ناحية بعض المميزات الإضافية . اقتباس
0 Hanan Fahad2 نشر 22 يونيو 2021 الكاتب أرسل تقرير نشر 22 يونيو 2021 اشكركم على مساعدتي في طرح ذلك ولاكن اجهل التعامل مع الصلاحيات الارافل كثيرا وحاولت احمل البكج واقف حائره اين اذهب ياليت شرح الفكرة اكثر https://spatie.be/docs/laravel-permission/v4/basic-usage/basic-usage في الصفحة هذه وين احط هذول 1 اقتباس
0 Adnane Kadri نشر 22 يونيو 2021 أرسل تقرير نشر 22 يونيو 2021 بتاريخ منذ ساعة مضت قال hanan fahad11: اشكركم على مساعدتي في طرح ذلك ولاكن اجهل التعامل مع الصلاحيات الارافل كثيرا وحاولت احمل البكج واقف حائره اين اذهب ياليت شرح الفكرة اكثر https://spatie.be/docs/laravel-permission/v4/basic-usage/basic-usage في الصفحة هذه وين احط هذول جميل أنك اخترت واحدة من حزم مجموعة spatie . تقوم هاته الحزمة بتنفيذ الأمر بوساطة الأدوار عوضا عن مجموعات الصلاحيات , وتختصر بذلك الكثير . قبل الإستعمال تأكدي أنك قد قمت بالخطوات التالية على نحو صحيح : تثبيت الحزمة : composer require spatie/laravel-permission نشر ملفات التهجير و الإعداد : php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" تنفيذ أمر التهجير : php artisan migrate بعد ذلك نحتاج إستعمالها و ضمها للتطبيق على نحو صحيح . سنحتاج إضافة السمة HasRoles لنموذج المستخدم User.php للإستفادة من التوابع التي توفرها هاته السمة : <?php use Illuminate\Foundation\Auth\User as Authenticatable; use Spatie\Permission\Traits\HasRoles; // تضمين السمة class User extends Authenticatable { use HasRoles; // إستعمال السمة // ... } 2. الان ما علينا إلا إنشاء أدوار Roles و أذونات Permissions , بحيث تتم العملية كالتالي : يتم نسب صلاحية معينة إلى دور معين . يتم نسب دور معين إلى مستخدم معين . مثال : نقوم بإنشاء الأذونات التالية : الحذف . الإضافة . التعديل . => نقوم بنسب الأذونات إلى الدور "Manager" . => نقوم بإعطاء المستخدم A الدور Manager . و بالطبع فإنه يمكن كتابة الشيفرة الخاصة بنسب الأذونات للدور و الدور للمستخدم في أي مكان من التطبيق , وليكن متحكما خاصا نسميه AssignRolesController : <?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use Spatie\Permission\Models\Role; use Spatie\Permission\Models\Permission; class AssignRolesController extends Controller { public function init() { # إنشاء دور $role = Role::create(['name' => 'writer']); # إنشاء صلاحية $permission = Permission::create(['name' => 'edit articles']); # عن طريق التابعين التاليين يمكن إعطاء الدور صلاحية معينة أو إعطاء الصلاحية إلى دور # ملاحظة : يكفي إستعمال أحدهما $role->givePermissionTo($permission); $permission->assignRole($role); # إعطاء مستخدم معين الدور $user = App\Models\User::first(); $user->assignRole('writer'); } } الان ما علينا إلا الوصول للتابع init لتنفيذ الأمر و إنشاء الأدوار و الأذونات . بعد ذلك و كخطوة أخيرة سنحتاج لحماية المسارات و المتحكمات . مثال : يجب علينا عدم السماح لمن ليس له صلاحية تعديل المقالات للوصول إلى المتحكم الخاص بتعديل المقالات . سنتسعمل في ذلك مفهوم الطبقات الوسيطة Middlewares , بحيث تتولى عملية التحقق من إمتلاك المستخدم لدور أو صلاحية معينة . و أبسط طريقة لعمل ذلك هي عن طريق المثال التالي : Route::group(['middleware' => ['can:edit articles']], function () { # كل المسارات التي يتم تمريرها هنا ستكون غير قابلة للوصول إلا لمن يمتلك صلاحية تعديل المقالات }); و متى ما حاول المستخدم اللوصول إلى المتحكمات الخاصة بعملية تعديل المقالات سيتم التحقق إن كان يمتلك صلاحية التعديل , و بشكل اخر : سيتم التحقق من أن المستخدم يمتلك دورا من ضمن صلاحياته تعديل المقالات . 1 اقتباس
0 Hanan Fahad2 نشر 24 يونيو 2021 الكاتب أرسل تقرير نشر 24 يونيو 2021 حاولت بالصاحيات ماجت معي ولايقبل اذا ممكن اعمل لي مشروع ووريني كيف تستخدمه لاني تعبت ماضبطت اقتباس
السؤال
Hanan Fahad2
ابغا بكج صلاحيات وابغا استخدم BOOTSTAP لان juststreem مافيه بوت ستراب والحل ابغا بكجات صلاحيات
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.