Laravel Authorization: Extra Packages — Spatie, Bouncer এবং অন্যান্য প্যাকেজের সহজ বাংলা টিউটোরিয়াল | Part 20

Abu Sayed
2 min readFeb 23, 2024

--

Laravel এ Authorization সিস্টেম তৈরিতে Spatie Permission, Bouncer এবং অন্যান্য পপুলার প্যাকেজ সম্পর্কে জানুন। কীভাবে ব্যবহার করবেন সেটা শিখুন।

প্রিয় বন্ধু, Laravel এ অথরাইজেশনের জন্য কিছু পপুলার প্যাকেজ রয়েছে যেগুলো আপনার অথরাইজেশন সিস্টেম তৈরি করতে সাহায্য করবে। সেগুলোর মধ্যে কিছু হল:

Spatie Permission

Spatie Permission হল সবচেয়ে জনপ্রিয় প্যাকেজ যা রোল এবং পারমিশনের মাধ্যমে অথরাইজেশন প্রদান করে।

এর সুবিধা:

  • সহজ রোল এবং পারমিশন ম্যানেজমেন্ট
  • ব্লেড টেমপ্লেটসহ সাপোর্ট
  • ক্যাশিং সাপোর্ট পারফর্ম্যান্স বাড়ায়

ব্যবহার:

// Role and Permission
$role = Role::create(['name' => 'writer']);
$permission = Permission::create(['name' => 'edit articles']);
// Assigning permission to role 
$role->givePermissionTo($permission);
// Checking role has permission
$role->hasPermissionTo('edit articles');

Bouncer

Bouncer হল আরেকটি জনপ্রিয় প্যাকেজ যা অথরাইজেশন এবং রোলের জন্য abilities ব্যবহার করে।

বৈশিষ্ট্য:

  • সহজ abilities এবং রোল ম্যানেজমেন্ট
  • Organize abilities into hierarchies
  • Blade directives দিয়ে সহজ অথরাইজেশন

ব্যবহার:

// Define abilities
Bouncer::allow('edit-articles')->to('writer');
// Assign role
Bouncer::assign('writer')->to($user);
// Check authorization
Bouncer::can('edit-articles');

Laravel Permission

লারাভেল পারমিশন প্যাকেজটি নেটিভলি Laravel এর জন্য তৈরি হয়েছে।

বৈশিষ্ট্যসমূহ:

  • সহজ রোল, পারমিশন এবং টিম ম্যানেজমেন্ট
  • সাপোর্ট করে Blade এবং Gate
  • কাস্টমিজযোগ্য গার্ড এবং পারমিশন

ব্যবহার:

// Create role
$role = app('permission')->createRole('writer', 'writer description');
// Create permission
$permission = app('permission')->createPermission('edit articles', 'edit articles description');
// Assign permission to role
$role->givePermissionTo($permission);

আশা করি এই পপুলার প্যাকেজগুলো সম্পর্কে ধারণা পেয়েছেন যা আপনার অথরাইজেশন কাজ সহজ করে তোলবে।

--

--

Abu Sayed

Bangladeshi Full Stack Web Dev, Sys Admin & DevOps Engineer. Skills: Data analysis, SQL, Kubernetes. Python, PHP & Laravel. Me on: bd.linkedin.com/in/imabusayed