بسم الله الرحمن الرحيم
نظام الصلاحيات هو من الأنظمة الأكثر أمنا كما هو الشأن في نظام التشغيل لينكس وانظمة قواعد البيانات ، ويمكنك بسبب هذا النظام أن تمنح الصلاحيات لمن تشاء من المستخدمين.
بصفة عامة العبارة المستعملة لمنح صلاحيات الاستعلام أو الحذف او التعديل هذي هي :
GRANT SELECT,INSERT,UPDATE,DELETE ON table_name TO user_name;
ولكن أحيانا سيكون لك مئات المستخدمين ولك عشرات الجداول والإجراءات التي تود أن تمنحها لبعض دون بعض فلذلك نستخدم role
ما هي ROLE
Role هي مجموع السماحيات المختلفة التي نود إسنادها فيما بعد إلى مستخدم واحد أو أكثر أو حتى إلى مجموعة سماحيات أخرى .
تتميز role بسهولة إستخدامها المرة تلو الأخرى بحيث يتم إسنادها إلى المستخدم و سحبها منه ، كما أن سحب الصلاحية من role تؤدي إلى سحبها من المستخدم الذي أسندنا له تلك role . يمكن أن تسند أكثر من role إلى مستخدم ما ، كما يمكنك اسناد role واحدة إلى أكثر من مستخدم .
لإنشاء role جديد
create role role_name;
كيف ننسب الصلاحيات إلى role الجديد ؟
الطريقة نفسها التي ننسبها بها إلى مستخدم جديد
لنفرض الرول الجديد اسمه editing
سيكون الكود هكذا
GRANT SELECT,INSERT,UPDATE,DELETE ON table_name TO editing
ولمنح هذه الصلاحية الجديدة لمستخدم نكتب
GRANT editing ON table_name TO
بالتوفيق
