سلام دوستان گل وقت بخیر
ببخشید میشه برام توضیح بدید رول و پرمیشن چطوری کار میکنن ؟ من یه سری کد ها رو نگاه کردم ولی راستش متوجه نشدم
اگر هم لینک خوبی سراغ دارید هم ممنون میشم به اشتراک بذارید
== نمیخام از پکیج استفاده کنم لطفا پیشنهاد ندید ==
به شکل ساده بخوام بگم..
ما در اپلیکیشن هامون به پرمیشن های مختلف احتیاج داریم.. مثلا آیا این کاربر مجاز هست فلان ریسورس رو ویرایش کنه یا نه؟
پس برای مدیریت این گونه موارد Permission ها یا مجوزهای مختلف تعریف میکنیم (مثلا ویرایش یک پست، یا حذف کامنت های پست)
سپس میتونیم چندین پرمیشن رو در یک گروه قرار بدیم و یک نام به این گروه اختصاص بدیم.. که هر گروه میشه یک Role
(مثلا Role کاربر یا ادمین)
و در نهایت میتونیم Role های مختلف رو به کاربرها اختصاص بدیم
حالا اگر نمیخواهی از پکیج استفاده کنی باید
@miladfathi021
تعریف آقای بیات بسیار دقیق هستش. اما درمورد این که نمی خواهید از پکیج استفاده کنید، به نظرم کار اشتباهیه. چونکه پکیج های خیلی قدرتمندی برای اینکار ساخته شده که هم از لحاظ امنیت هم از نظر کارایی بسیار مفید هستند.
اگر سایتی دارید که بخواهید خودتون براش این کار رو انجام بدید، هم خیلی زمان بره هم خیلی پیچیده. پیشنهاد میکنم از پکیج زیر استفاده کنید :
https://github.com/spatie/laravel-permission
تو وب اپلیکیشن های پیچیده هر کاربر میتونه چنتا نقش داشته باشه مثلا
مدیر بخش نظرات و مدیر بخش سوالات
هر نقش هم میتونه چنتا دسترسی داشته باشه مثلا مدیر بخش سوالات میتونه سوالو تایید کنه یا حذف کنه یا جواب بده یا غیر فعال کنه و ...
پیاده سازی صحیح و بهینه اش طول میکشه و لازم نیس دوباره چرخ رو اختراع کرد !
از پکیج استفاده کنید
برای اینکه از بخوایم از multi auth استفاده کنیم، این پکیج امکانش رو اضافه کرده درسته؟
https://github.com/spatie/laravel-permission
اونوقت الان برای هر پرمیشن میخوایم یه عنوانی بنویسیم که خواناتر باشه واسه مدیر که بتونه بفهمه این پرمیشن برای چیه، ینی خودمون یه فیل به جداول اضافه کنیم؟
@coaradsupp
احتیاجی نیست فیلد اضافه کنید
میتونید Role هایی مثل ویرایشگر یا Moderator یا هر نام دیگه دوست دارید بسازید
سپس پرمیشن ها رو برای اون Role مشخص کنید
و از اون Role برای کاربرانی که میخواهید استفاده کنید
و یا اینکه مستقیما به کاربر پرمیشن بدید
@coaradsupp
منظور شما دایرکتیوهای داخل ویو هست
خوب میتونی داخل سورس پکیج این دایرکتیو رو پیدا کنی و عملکردش رو عوض کنی
ممنون، ولی اگه یه فیلد فقط واسه نمایش عنوان پرمیشن و رول توی جدول قرار بدیم صرف اینکه اسم اون رو ذخیره کنه و برای مدیر نمایش بده، مشکلی پیش میاد؟چون دیگه نخوایم توی پکیج دست ببریم؟
با این پکیج ها می شه یه پنل تخصیص سطح دسترسی ایجاد کرد. یعنی مثلا یک نقش جدید ایجاد کرد و دسترسی های مورد نظر رو تیک زد و براش فعال کرد؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟