علی اسماعیلی
علی اسماعیلی
خواندن ۲ دقیقه·۵ سال پیش

سطح بندی کاربران به روش ACL

کلید ها مجوز های ما برای ورود به دنیای جدید

کلید ها مجوز هایی برای ورود به دنیای جدید
کلید ها مجوز هایی برای ورود به دنیای جدید


سلام سلام سلام

امیدوارم حالتون خوب باشه، بلاخره وقتش شد در مورد موضوع خیلی خیلی مهم بنویسم، اونم در مورد ACL.

توی جاهای مختلف (مثل گروه‌های تلگرامی و ....) خیلی میبینم که با این موضوع مشکل دارن و نمیدون باید چجوری پیاده سازیش کنن.

ACL چیست؟

خب اول بررسی کنیم که اصلا ACL چیه.

Access Controller List فهرست کنترل دسترسی


حتما به این موضوع ها برخوردین که :

  • ادمین سایت باید به همه بخش های سایت دسترسی داشته باشه.
  • حسابدار باید به بخش حسابداری و مالی.
  • نویسنده به بخش مدیریت مقالات.
  • و ....

خب چیکار کنیم ؟ چجوری اینو به سیستممون بفهمونیم؟ اینجاست که ACL میاد وسط.




چجوری کار میکنه؟

شاید روش های مختلفی برای پیاده سازیش باشه نمیدونم، ولی من روشی که یاد گرفتم و به نظرم روش ساده و خیلی کاربردی اومد رو میگم.

خب در عمل ما توی سایت یه سری Action داریم که داره اتفاق میافته مثل :

  • حذف کردن کاربر
  • ویرایش کاربر
  • ایجاد محصول
  • فعال سازی محصول
  • و ...

خب اینا یه سری Action هستند. پس اول از همه باید لیستی از تمام Action هایی که توی سیستم وجود داره تهیه کنیم.

خب مرحله بعدی لیستی از پست یا مقام هایی که داریم مثل :

  • ادمین اصلی
  • حسابدار
  • نویسنده
  • پشتیبانی
  • و ...

خب بعد ازین که این دوتارو تهییه کردیم وقتشه که اینارو بهم وصل کنیم به این روش که میگیم :

  • ادمین اصلی باید به تمام Action هایی که گفتیم باید دسترسی داشته باشه.
  • پشتیبان به حذف کاربر و ویرایش کاربر و ..
  • مدیر محصول به حذف محصول، افزودن محصول، فعال سازی محصول
  • و ....

پس چی شد، یعنی هر مقام یک سری دسترسی دارد.

بعد ازین مرحله میایم مقام ها رو به کاربرامون نسبت میدیم میگیم کاربر شماره 1 مثلا ادمین اصلی باشه و ...

خب وقتی اینا پیاده سازی شد توی سیستم، میایم چک میکنید که این کاربری که الان لاگین هست چه مقامی
داره و اون مقام چه دسترسی هایی دارد وفقط بخش هایی که دسترسی داره رو بهش نشون مدیم.




سعی میکنم توی یه ویدئو به صورت عملی این سیستم رو پیاده کنم( البته با laravel و mysql که ابزار مهم نیست مهم درک موضوع ACL هست).


نمای کلی از سیستم ACL

نمای کلی از سیستم ACL
نمای کلی از سیستم ACL


لارولacl جیستسطح بندی کاربران به روش aclبرنامه نویسیآموزش برنامه نویسی
عاشق تکنولوژی، برنامه نویسی
شاید از این پست‌ها خوشتان بیاید