الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب مساعدة من خبراء السي شارب (أريد كل مستخدم أن يرى جزء من البرنامج)

بدأه omar1978 في 3 مايو 2010 · 3 رد · 1,589 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخوتي الأعزاء

السلام عليكم ورحمة الله وبركاته

عندي برنامج بسيط مكون من جدول واحد تم إنشائه بواسطة SQL SERVER 2008 وهذا البرنامج يستخدمه ثلاثة مستخدمين على جهاز واحد (أي لا توجد شبكة) وأريد أن يكون لكل مستخدم كلمة مرور خاصة يستطيع من خلالها أن يرى جزء من البرنامج فما هي الطريقة الأفضل لعمل تلك الفكرة

أرجو المساعدة وجزاكم الله كل خير

أخوتي الأعزاء

السلام عليكم ورحمة الله وبركاته

عندي برنامج بسيط مكون من جدول واحد تم إنشائه بواسطة SQL SERVER 2008 وهذا البرنامج يستخدمه ثلاثة مستخدمين على جهاز واحد (أي لا توجد شبكة) وأريد أن يكون لكل مستخدم كلمة مرور خاصة يستطيع من خلالها أن يرى جزء من البرنامج فما هي الطريقة الأفضل لعمل تلك الفكرة

أرجو المساعدة وجزاكم الله كل خير

#2

أخي العزيز

بكلمات بسيطة سماحيات أو User Permissions

هناك عدة طرق لتنفيذ ذلك تعتمد كل طريقة على نوع البرنامج (هل يعمل على شبكة أم لا) وعلى مستويات الصلاحيات التي تود ان تعطيعها للمستخدمين.

سأقوم فيما يلي باستعراض بعض اهم انواع الصلاحيات وبعض الطرق لتنفيذها:

1- صلاحيات على مستوى النوافذ( Forms Permissions ):

في مثل هذه الصلاحيات يكون لبعض المستخدمين القدرة على مشاهدة اجزاء من البرنامج كلا حسب صلاحياته

لتنفيذ مثل هذا عليك انشاء ثلاثة جداول:

- جدول المستخدمين (TableUser ) وفيه الحقول التالية ( ID, UserName, Password)

- جدول النوافذ (TableForm ) وفيه الحقول التالية (ID,FormArabicName,FormEnglishName )

- جدول السماحيات (TablePermissions ) وفيه الحقول التالية ( UserID,FormID )

حيث توجد العلاقات Relations التالية:

بين جدول المستحدمين وجدول السماحيات (TableUser.ID -< TablePermissions.UserID )

بين جدول النوافذ وجدول المستخدمين (TableForm.ID -< TablePermissions.FormID )

والفكرة تكمن في ادخال جميع النوافذ الموجودة عندك في البرنامج ضمن جدول النوافذ وعند اضافة مستخدم تضيف اليه النوافذ التي يستطيع الدخول اليها.. وعند تسجيل دخوله للنظام تقوم في بداية البرنامج باخفاء أو اظهار النوافذ حسب سماحياته

أو تظهر جميع النوافذ و لكن عندما يريد فتح النافذة تقوم بالاستعلام إذا كان له صلاحية لدخول هذه النافذة أم لا وتعطيه رسالة في حالة المنع وانا شخصيا أفضل اخفاء النوافذ

2- صلاحيات على مستوى العمليات الأساسية للنافذة (إضافة - تعديل - حذف - طباعة)

تتطور الصلاحيات في هذه الحالة ويصبح لبعض المستخدمين القادرين للدخول لنافذة معينة مثلا القدرة على تنفيذ بعض العمليات عليها فقط دون غيرها

مثلا يمكن منح بعض المستخدمين خاصية الاضافة بينما مستخدمين أخرين التعديل ومستخدمين أخرين الطباعة ..

لتنفيذ ذلك علينا تعديل الجداول الثلاث السابقة:

- جدول النوافذ (TableForm) نضيف عليه الحقول التالية (CanAdd,CanEdit,CanDelete,CanPrint) نوع الحقل Bit تبين اذا كانت النافذة تحتوي على خاصية الاضافة او التعديل او الحذف او الطباعة

- جدول السماحيات ( TablePermissions ) نضيف عليه الحقول التالية ( AllowAdd,AllowEdit,AllowDelete,AllowPrint ) نوع الحقل ايضا Bit وتبين سماحية المستخدم لاستخدام هذه الخاصية من النافذة

3- السماحيات العامة (Constraint Permission ):

هي تلك السماحيات التي تعطى للمستخدمين لتقيد بإجراءات محددة

مثلا يمكن لبعض المستخدمين الاطلاع على محتويات بعض الحقول ، أو يمكن لبعض المستخدمين مشاهدة بعض الحقول التفصيلية لجدول معين، أو يمكن لهم اضافة انماط معينة من البيانات فقط .. والامثلة على ذلك كثيرة

كل هذه القيود يمكن وضعها في جدول واضافة سماحية هذه القيود لكل مستخدم حسب صلاحيته

أرجو أن أكون اوضحت الفكرة مع ان جزء كبير من تطبيقها عن طريق قاعدة البيانات وليس البرمجة

وربما يفيدنا الاعضاء الاخرين باضافاتهم الثمينة

بالتوفيق

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#3

مشكور أخوي WAS_hel بصراحه فادني الموضوع ده كثير ..

بارك الله فيك من رجل كريم بعلمه وصريح في تعامله .. نرجو ان يكونوا باقي الاعضاء في رقي أخلاقك ..

الله يرزقك الجنة إن شاء الله وبارك الله في والديك اللذان ربياك على الكرم والسخاء .

شكرا كلمة لا تكفي ما اعطيتني اياه من معلومات .

في ميزان حسناتك إن شاء الله

#4

بارك الله بيك !! شرح جميل جدا

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…