12-10-15, 02:45 PM
لن نطيل في موضوع الصلاحيات سنقتصر على مثال يشرح الفكرة نقوم بإنشاء جدول في قاعدة البيانات على النحو التالي :
فقط فهرس للجدول وحقل بمسمى admin القيمة رقم
تستطيع جعله Yes/No كما يحلو لك كل الطرق توصل للروما ايطاليا صارت زحمة بسبب هذا المثل
الان نذهب للفورم الذي كنا نعمل سابقا وتضيف فقط كومبوا بوكس وليبل للتسمية كما في الصورة الاتية
سنضيف إليه فقط عنصرين Admin - User بالترتيب حيث ادمن يأخذ الاندكس 0 و user يأخذ 1
اما عن طريق الكود ا التصميم سأترك الخيار لك سأريك فقط الاضافة اثناء التصميم في تصميم النموذج تكون كالاتي
سنجعل الصلاحية للمستخدمين بعد عملية الاضافة وتكون مرتبطة بكود التعديل سنضرب عصفورين بحجر كيف؟
سنجعل البرنامج يتعامل مع اي مستخدم لم تضف له صلاحية وكأنه بحاجة الى تنشيط حساب أي إنه طالما لم
تسجل له اي صلاحية في الجدول Per فلن يكون قادرا على أي اي شي مطلقاً فقط ستظهر له رسالة
" لم يتم تفعيل حسابك بعد !"
اذهب معي الى الحدث فورم لود ونكتب الجملة التي ستأخذ القيم من الجدول الاول من الحقل ID وتقارنها بالقيم الموجودة في الجدول الثاني في الحقل Admin
الخيارات لعمل ذلك متعددة ففي البرمجة الطرق للوصول للنتيجة متعددة ولكن هناك طريق آمن وطريق يتعب من يسلكه !
سنضيف هذا الكود باستخدم Inner join
اذا شغلنا المشروع فستكون نتيجة جملة الاستعلام فارغة ولن نتكمن من عمل اي شيء
انظر للصور ادناه
الان اذهب للجدول الذي انشأناه مؤخراً وقم بإضافة رقم أول مستخدم في مثالنا هو Omar
ورقمه 1
نضع الرقم 1 فقط ونضغط انتر للحفظ في الجدول كما في الصورة التالية
وشغل المشروع ستجد نفسك قادر على الاضافة الحذف التعديل
والان سنذهب لكود التحرير الموجود تحت البتن
Button2_Click
وسنضيف اليه جملة اضافة الصلاحيات للمستخدمين اذا اردناهم يكونون ادامن فقط
تابع معي
فقط فهرس للجدول وحقل بمسمى admin القيمة رقم
تستطيع جعله Yes/No كما يحلو لك كل الطرق توصل للروما ايطاليا صارت زحمة بسبب هذا المثل
الان نذهب للفورم الذي كنا نعمل سابقا وتضيف فقط كومبوا بوكس وليبل للتسمية كما في الصورة الاتية
سنضيف إليه فقط عنصرين Admin - User بالترتيب حيث ادمن يأخذ الاندكس 0 و user يأخذ 1
اما عن طريق الكود ا التصميم سأترك الخيار لك سأريك فقط الاضافة اثناء التصميم في تصميم النموذج تكون كالاتي
سنجعل الصلاحية للمستخدمين بعد عملية الاضافة وتكون مرتبطة بكود التعديل سنضرب عصفورين بحجر كيف؟
سنجعل البرنامج يتعامل مع اي مستخدم لم تضف له صلاحية وكأنه بحاجة الى تنشيط حساب أي إنه طالما لم
تسجل له اي صلاحية في الجدول Per فلن يكون قادرا على أي اي شي مطلقاً فقط ستظهر له رسالة
" لم يتم تفعيل حسابك بعد !"
اذهب معي الى الحدث فورم لود ونكتب الجملة التي ستأخذ القيم من الجدول الاول من الحقل ID وتقارنها بالقيم الموجودة في الجدول الثاني في الحقل Admin
الخيارات لعمل ذلك متعددة ففي البرمجة الطرق للوصول للنتيجة متعددة ولكن هناك طريق آمن وطريق يتعب من يسلكه !
سنضيف هذا الكود باستخدم Inner join
PHP كود :
/*
الان سنتحقق من الصلاحيات بالطريقة التالية
*/
con.Rec("select Users.*, Per.Admin from Users Inner join Per On Users.ID=Per.Admin");
if (con.Cmd.ExecuteScalar() ==null)
{
MessageBox.Show("لا تمتلك اي صلاحيات غير استعراض البيانات فقط");
button1.Enabled = false;
button2.Enabled = false;
dataGridView1.Enabled = false;
return ;
}
else
{
button1.Enabled = true;
button2.Enabled = true;
dataGridView1.Enabled = true;
}
انظر للصور ادناه
الان اذهب للجدول الذي انشأناه مؤخراً وقم بإضافة رقم أول مستخدم في مثالنا هو Omar
ورقمه 1
نضع الرقم 1 فقط ونضغط انتر للحفظ في الجدول كما في الصورة التالية
وشغل المشروع ستجد نفسك قادر على الاضافة الحذف التعديل
والان سنذهب لكود التحرير الموجود تحت البتن
Button2_Click
وسنضيف اليه جملة اضافة الصلاحيات للمستخدمين اذا اردناهم يكونون ادامن فقط
تابع معي
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات


