ببين اگر خودم باشم ترجيح ميدم كار آسون تر رو انتخاب كنم !
من ميام يك جدول براي همه مي سازم
يك جدول پرميشن هم ميسازم
اگر بخش هاي برنامه قرار نيست هر روز تغيير كنند و يك سري امكانات ثابت مثل ارسال تيكت و .. هست خيلي راحت اين كار جواب ميده
در جدول پرميشن يك ستون user id و يك سري ستون براي اختيارات دلخواه تعريف مي كني
حتي بعدا ميتوني در صورت اضافه شدن بخش جديد يك ستون ديگه به جدول اضافه يا كم كني
البته اگر قرار باشه زياد بخش ها تغيير كنه ،تغيير ساختار جدول در هر نوبت زياد جالب نيست و بايد يكم حرفه اي تر عمل كرد !
يعني مثلا يك جدول پرميشن داريم با ستون هاي :
id
شناسه كاربر (user id)
نام پرميشن (permission)
* نام پرميشن : ميتونيم براي هر بخش يا عمليات يك نام در نظر بگيريم براي اين كار ميتونيم در اول يا اون بخش از كدمون يك ثابت مثلا به نام permission_name در نظر بگيريم
حالا اگر خواستيم كاربري به فلان بخش دسترسي داشته باشه يك سطر جديد در جدول permission درج مي كنيم و نام پرميشن رو بربر نام ثابت اون منطقه يا عمليات و شناسه كاربر رو هم كه مشخصه ؛ مي ذاريم
و اگر خواستيم پرميشني رو از كاربر بگيريم مي تونيم سطر مربوطه رو حذف كنيم