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

اريد رائكم يا اهل الخبرة في التحليل

بدأه ورق خسرانه في 1 يونيو 2013 · 10 رد · 710 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

 

اخواني الاعزاء انا اقوم بتصميم قاعدة بيانات خاصة بمدرسة .. واريد ان اعمل  اذونات للمستخدمين 

 

 الذي اعرفة انه انه لو حابينا نعمل membershep

انه نعمل جدول اسمة users 

وجدول اسمة rools 

وجدول الثالث بيكون فيه rools_Users

id_rool

id_users

-------------------------

لكن نفرض مثلاُ انه لدي جدول المواد وطبعاُ تتم فيه العمليات التالية : اضافة مادة : تعديل بيانات مادة : حذف مادة 

وعندي كذالك جدول المجموعات : اضافة مجموعة : تعديل بيانات مجموعه : حذف مجموعة :

 ----------------

ونفرض  انه لدي المستخدم الذي اسمة ali  واريد ان امنح الصلاحيات التالية :

اضافة مادة + تعديل بيانات مادة من جدول المواد

واريد ان امنح من جدول المجموهعات اضافة مجموعه 

-------------------------------------

  انا فكرت اعمل ثلاثة جداول اليوزرز + جدول الرول + جدول ثالث يربط بين الجدولين .

ولكن لن يحقق لي المطلوب .. فانا اريد ان امنح الشخص صلاحيات على حسب الجدول 

ياليت تفيدوني  كيف اعمل ولكم جزيل الشكر 

#2

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

 

الفكرة بيسطة جداً

 

وهى إن حضرتك تقوم بالضغط بالزر الأيمن للماوس على الجدول المراد عمل الصلاحيات للمستخدمين عليه

 

مثلا جدول المواد او المجموعات

 

ثم نختار Properties   ( خصائص الجدول)

 

ثم نختار Permissions  ( الصلاحيات أو السماحيات)  من من المستخدمين مسموح له بفعل كذا وكذا أو لا 

 

سيظهر إسم الجدول 

 

تحت إسم الجدول 

 

نقوم بالضغط على مفتاح 

 

Search   

 

وهذا يقوم بالبحث فى المستخدمين و أدوارها

 

بعد ذلك تظهر نافذة 

 

Select Users Or Roles

 

Object Types  الأنواع

أو 

 

Browse لإستعراض الأنواع السابقة

 

وهنا على أساس كلام حضرتك 

 

موجود مستخدم إسمه ali

 

نقوم بإختياره ثم OK ثم  OK 

 

 

سيظهر جدول مكون من عدة أعمدة

 

أهمها  Permission وهذه إسم الصلاحية

 

مثل 

 

Alter أو Delete 

 

أو  Select 

Grant إعطاء الصلاحية للمستخدم

 

Deny  إلغاء الصلاحية من المستخدم

 

 

فقط نختار الصلاحية ونعلم عليها 

 

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

#3
arafat_system كتب:

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

 

الفكرة بيسطة جداً

 

وهى إن حضرتك تقوم بالضغط بالزر الأيمن للماوس على الجدول المراد عمل الصلاحيات للمستخدمين عليه

 

مثلا جدول المواد او المجموعات

 

ثم نختار Properties   ( خصائص الجدول)

 

ثم نختار Permissions  ( الصلاحيات أو السماحيات)  من من المستخدمين مسموح له بفعل كذا وكذا أو لا 

 

سيظهر إسم الجدول 

 

تحت إسم الجدول 

 

نقوم بالضغط على مفتاح 

 

Search   

 

وهذا يقوم بالبحث فى المستخدمين و أدوارها

 

بعد ذلك تظهر نافذة 

 

Select Users Or Roles

 

Object Types  الأنواع

أو 

 

Browse لإستعراض الأنواع السابقة

 

وهنا على أساس كلام حضرتك 

 

موجود مستخدم إسمه ali

 

نقوم بإختياره ثم OK ثم  OK 

 

 

سيظهر جدول مكون من عدة أعمدة

 

أهمها  Permission وهذه إسم الصلاحية

 

مثل 

 

Alter أو Delete 

 

أو  Select 

Grant إعطاء الصلاحية للمستخدم

 

Deny  إلغاء الصلاحية من المستخدم

 

 

فقط نختار الصلاحية ونعلم عليها 

 

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

 

---------------

 اخي العزيز مشكور على الطريقة لكن انا لم اقصد هذاا الشي .. الذي اقصدة ..

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

 

و للتوضيح اكثر .. 

لو فرضنا ان لدينا خمسة جداول (مقررات و مواد و مجموعات و مدرسين و طلاب ) ولدي جدول المستخدمين , و اريد ان امنح كل مستخدم بعض الصلاحيات , 

 

فرضا المستخدم احمد , اريد ان امنحه صلاحية اضافة مواد و التعديل عليها , و اضافة مجموعات , و اضافة طلاب .

 

والمستخدم علي , اريد ان امنحه صلاحية اضافة مواد و التعديل عليها  و عرضها , و اضافة مجموعات , و اضافة طلاب , و التعديل على بيانات المدرسين .. 

 

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

 

مع العلم اني قمت بالاطلاع على الـ membership  الخاصه بـ asp.net  و وجدت فيها ثلاثة جداول يتم التعامل فيها بين الصلاحيات و المستخدمين وهي الجداول التالية (  users,usersRoles,Roles)

 

ولكني لم استطع ان اصيغ الذي اريده في هذه الجداول .. 

 

ارجوا منكم المساعده

#4

ممكن صورة من البرنامج وقاعدة البيانات

#5
ورق خسرانه كتب:

---------------

 اخي العزيز مشكور على الطريقة لكن انا لم اقصد هذاا الشي .. الذي اقصدة ..

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

 

و للتوضيح اكثر .. 

لو فرضنا ان لدينا خمسة جداول (مقررات و مواد و مجموعات و مدرسين و طلاب ) ولدي جدول المستخدمين , و اريد ان امنح كل مستخدم بعض الصلاحيات , 

 

فرضا المستخدم احمد , اريد ان امنحه صلاحية اضافة مواد و التعديل عليها , و اضافة مجموعات , و اضافة طلاب .

 

والمستخدم علي , اريد ان امنحه صلاحية اضافة مواد و التعديل عليها  و عرضها , و اضافة مجموعات , و اضافة طلاب , و التعديل على بيانات المدرسين .. 

 

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

 

مع العلم اني قمت بالاطلاع على الـ membership  الخاصه بـ asp.net  و وجدت فيها ثلاثة جداول يتم التعامل فيها بين الصلاحيات و المستخدمين وهي الجداول التالية (  users,usersRoles,Roles)

 

ولكني لم استطع ان اصيغ الذي اريده في هذه الجداول .. 

 

ارجوا منكم المساعده

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

 

أولا :أسف للفهم الخاطئ

 

ثانياً :

 

حضرتك حتعمل جدول المستخدمين 

 

وحقول الجدول هتكون كالتالى

 

إسم المستخدم و كلمة المرور و إضافة مواد ونوع الحقل Bit  وتعديل مواد  ونوع الحقل Bit و إضافة طلاب  ونوع الحقل Bit وهكذا

 

أى أى صلاحية تريد إعطائها للمستخدمين يكون لها حقل فى جدول المستخدمين ومن النوع Bit   أى Yes or No 

 

يا إما له الصلاحية أو لا 

 

وتكون فى لوحة التحكم عبارة عن صناديق إختيار

 

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

#6

هذه صورة الجداول

 

مع العلم أنه يوجد صلاحيات كثيرة إذا حضرتك أردت ذلك

post-275323-0-48110700-1370133307_thumb.

1
#7

مششكور اخي العزيز على الرد .. لكن هل يعقل لو لدي 20 جدول .. ان  اضيف كل الجداول في جدول Users ? 

#8
اقتباس

لكن هل يعقل لو لدي 20 جدول .. ان  اضيف كل الجداول في جدول Users ?

طبعا سيكون الامر صعب .

 

 

في كثير من المشاريع اعتمد التصميم التالي :

users-->roles-->capabilities

اي المستخدم يتبع الى مجموعة او اكثر والمجموعة لها صلاحيات محددة capabilities

 

capabilities هي الصلاحيات مثل اضافة مادة وتعديل مادة واضافة مستخدم وحذف مستخدم ...الخ

 

نحتاج الى جدول وسيط يربط الصلاحيات بالمجموعات وآخر لربط المجموعات بالمستخدمين .

 

اذا سمح لي الوقت ساقدم رسم لهذا التصميم .

1
#9
TareqVB كتب:

طبعا سيكون الامر صعب .

 

 

في كثير من المشاريع اعتمد التصميم التالي :

users-->roles-->capabilities

اي المستخدم يتبع الى مجموعة او اكثر والمجموعة لها صلاحيات محددة capabilities

 

capabilities هي الصلاحيات مثل اضافة مادة وتعديل مادة واضافة مستخدم وحذف مستخدم ...الخ

 

نحتاج الى جدول وسيط يربط الصلاحيات بالمجموعات وآخر لربط المجموعات بالمستخدمين .

 

اذا سمح لي الوقت ساقدم رسم لهذا التصميم .

---------

مشكور اخي طارق انا في انتظار  تصميمك ولك جزيل الشكر 

#10

جزاكم الله خيراً أخى 

#11

السلام عليكم

 

يمكنك الرجوع الى الكتاب

ASP.NET 3.5 Enterprise Application
Development with Visual Studio® 2008

حيث يوجد تحليل لهذا الموضوع والصورة التالية منه:

 

 

post-112904-0-56859800-1370603504.png

1

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

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

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

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

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