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

نصيحه قبل البدء بالمشروع !

بدأه altae13 في 30 يونيو 2011 · 24 رد · 1,289 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

وواشكر كل العاملين في هذا الموقع من مشرفيين ومستخدمين لمساعدتي وتوصيل الى مستوى لا باس به

اخواني انا اليوم محتاج انا اعمل مشروع (نظام جامعه )

1-الجامعه تحوي على مجموعه كليات والكليات على اقسام اريد اانا اعمل في كل كليه admin خاصه بتلك الكليه وهذا الadmin له الحق بالدخول الى تلك الكليه فقط واجراء

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

2-عندما يدخل الadmin او ال user المعومات الخاصه بهم من اسم مستخدم وكلمه السر يذهبان تلقائيا الى كليتهم التابعه لهم اعتمادا على اليوزر والباسورد

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

#2

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

اخي اولا اريد ان اوضح مافي شيء اسمه قاعدة بيانات توفرها الفيجوال ستوديو؟!! هناك نوعين من انواع قاعدة البيانات اما ان تكون مستضافه ضمن خادم السيكول (الافضل) او تكون ملف في اي مكان على القرص, اخي عليك التفكير الان في تحليل النظام يعني What ولاتفكر في How, لذا قم بتجميع معلوماتك حول النظام وقم بتدوين العناصر الرئيسي فيه والعمليات الجاريه ... الخ, وبعدها قم بتحليل قاعدة البيانات وقم بوضع مخطط لها وبعدها سأبدي برأيي

.:: Wish to become better and better ::.

#3

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

انا اشكرك على الرد

اقصد بقاعد البيانات التي يوفرها الفيجول ستوديو هي قاعده بيانات (ASPNETDB.MDF) التي يمكن الحصول عليها عن طريق Web Site Administration Tool ويمكن بناء users and roles بداخل تلك القاعده اما عن موضوع تحليل المشروع لقد قمت بتحليل المشروع من حيث العلاقات والجدوال وبناء الجدول لكن مشكلتي هي

اريد انا اعمل في كل كليه يوجد مشرف له حق التعامل فقط في كليته المخصصه له

#4

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

اخي قاعدة البيانات التي ذكرتها سابقا خاصه بالـ Membership & Roles

.:: Wish to become better and better ::.

#5
VB Helper كتب:

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

اخي قاعدة البيانات التي ذكرتها سابقا خاصه بالـ Membership & Roles

اخي اعرف بان هذا القاعده لهذا الغرض انا سوالي هل استخدام هذا القاعده لبناء ال admins و ال users

لحل مشكلتي ؟

#6

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

اشرح الك المشروع بالتفصيل

لديا قاعده بيانات تم انشاءها واسمها university

وتحوي على الجدول التاليه

1-college

2-dep

3-lect

4-student

5-subject

6-marks

انا احتاج الى انشاء لكل كليه admin ,وهو بدوره يقوم بانشاء users بداخل كليته لغرض عمليات الاضافه والخذف والتعديل

سوالي هل انشاء جدول بداخل قاعدة بيانتي او اعتمد على ASPNETDB.MDF لهذا الغرض وكيف يتم ذلك ؟؟؟

#7

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

اخي يمكن انشاء قاعدة بيانات خاصه بك ومن ثم قم باضافة جداول ادارة العضويات والادوار اليها, شوف الرابط التالي http://www.asp.net/security/tutorials/creating-the-membership-schema-in-sql-server-cs

.:: Wish to become better and better ::.

#8
VB Helper كتب:

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

اخي يمكن انشاء قاعدة بيانات خاصه بك ومن ثم قم باضافة جداول ادارة العضويات والادوار اليها, شوف الرابط التالي http://www.asp.net/security/tutorials/creating-the-membership-schema-in-sql-server-cs

السلام عليكم

ممكن توضيح اكثر هل اقوم ببناء قاعده بيانات عدد 2 احدهما للمشروع والاخرى للاداره العضويات وتوزيع الادوار لهم !!

#9

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

اخي لقد اوضحت لك سابقا فقط قم بانشاء قاعدة بيانات واحده ومن ثم يمكنك اضافة جداول ادارة الادوار والعضويات, الرجاء مراجعه الرابط السابق!!

.:: Wish to become better and better ::.

#10
VB Helper كتب:

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

اخي لقد اوضحت لك سابقا فقط قم بانشاء قاعدة بيانات واحده ومن ثم يمكنك اضافة جداول ادارة الادوار والعضويات, الرجاء مراجعه الرابط السابق!!

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

وبارك الله فيك

اخي العزيز لقد راجعت الربط السابق وعملت كما مذكور في الشرح وحصلت على قاعده بيانات وفيها tables الاداور والعضويات وكذلك على ال views بااختصار قاعده بيانات كامله خاصه لمستخدمين واداره الاعضاء ولقد سميتها SecurityTutorials.mdf

هل اضيف جداول الجامعه(اقصد مشروعي يحوي على مجموعه من الجداول وهي جداول الكليات والاقسام والطلبه والاساتذه والخ....) الى هذه القاعده SecurityTutorials.mdf!وكيف يتم الربط بين جداول الجامعه وجداول اداره الاعضاء والعضويات بحيث اريد كما ذكرت سابقا اربط المستخدم مع جدول الكليه او مع قسم من اقسام الكليه بااختصار لكل كليه يوزر او ادمين

#11

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

اخي القاعده السابقه ماهي الا نموذج مثل قاعدة بياناتك والرابط يوضح كيفية اضافة جداول ال Membership & Roles لها

.:: Wish to become better and better ::.

#12
VB Helper كتب:

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

اخي القاعده السابقه ماهي الا نموذج مثل قاعدة بياناتك والرابط يوضح كيفية اضافة جداول ال Membership & Roles لها

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

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

واشكرك مرة ثانية واسف على الازعاج

بارك الله فيك على الردود ........................ز

#13

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

اخي لو تدقق في المثال السابق قام بانشاء قاعدة بيانات ومن ثم قام باستخدام الاداة aspnet_regsql.exe لإضافة جداول الـ Membership & Roles .. الرجاء تطبيق الخطوات السابقه!!

.:: Wish to become better and better ::.

#14
VB Helper كتب:

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

اخي لو تدقق في المثال السابق قام بانشاء قاعدة بيانات ومن ثم قام باستخدام الاداة aspnet_regsql.exe لإضافة جداول الـ Membership & Roles .. الرجاء تطبيق الخطوات السابقه!!

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

اخي العزيز لو انا طولت عليك

اولا انا طبق المثال السابق وحصلت على قاعده بيانات ومن ثم استخدمت الاداه aspnet_regsql.exe لاضافه جداول Membership & Roles الى قاعده البيانات الان انا املك قاعده بياتات تحوي على جداول

Membership & Roles !

سوالي كيف اضيف جداول اخرى واربطها مع جداول Membership & Roles !! اتوقع سوالي واضح وانا طبقت المثال بالحرف الواحد لكن تطبيق العلاقه بين جداول Membership & Roles وجداول مشروعي وهي جداول نظام جامعه لم احصل على حل فاذا ممكن المساعده

#15

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

اخي اعيدها مرار وتكرار بعد اضافة جداول ال Membership & Roles يمكنك عمل علاقات بين الجداول مثل اي علاقة اخرى!!

.:: Wish to become better and better ::.

#16
VB Helper كتب:

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

اخي اعيدها مرار وتكرار بعد اضافة جداول ال Membership & Roles يمكنك عمل علاقات بين الجداول مثل اي علاقة اخرى!!

السلام عليكم

اشكرك على الرد يااخي

#17

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

لاشكرا على واجب اخي .. بالتوفيق ..

.:: Wish to become better and better ::.

#18

يا أخي والله ما بعرف ليش معقد الموضوع ...ببساطة بنفس قاعدة البيانات اللي فيها الكليات والأقسام و و ... اعمل جدول للمستخدمين اسمو users

لا زم يكون فيه الحقول التالية:

userID, first_name , last_name , user_name , password , collage_id, is_admin

حيث userID هو معرف أتوماتيكي وحقول أخرى عن المعلومات الشخصية إذا حبيت

ولازم يكون فيه forign key constraint بين رقم الكلية في هذا الجدول واللي هو هون مفتاح ثانوي مع رقم الكلية في جدول الكليات واللي هو مفتاح أساسي

وبعد تسجيل الدخول عن طريق اسم المستخدم user_name وكلمة المرور password تقوم باسترجاع رقم الكلية collage_id والحقل is_admin من أجل السماحيات... وتوجه الصفحات حسب رقم الكلية المسترجع

يا أخي والله ما بعرف ليش معقد الموضوع ...ببساطة بنفس قاعدة البيانات اللي فيها الكليات والأقسام و و ... اعمل جدول للمستخدمين اسمو users

لا زم يكون فيه الحقول التالية:

userID, first_name , last_name , user_name , password , collage_id, is_admin

حيث userID هو معرف أتوماتيكي وحقول أخرى عن المعلومات الشخصية إذا حبيت

ولازم يكون فيه forign key constraint بين رقم الكلية في هذا الجدول واللي هو هون مفتاح ثانوي مع رقم الكلية في جدول الكليات واللي هو مفتاح أساسي

وبعد تسجيل الدخول عن طريق اسم المستخدم user_name وكلمة المرور password تقوم باسترجاع رقم الكلية collage_id والحقل is_admin من أجل السماحيات... وتوجه الصفحات حسب رقم الكلية المسترجع

يا أخي والله ما بعرف ليش معقد الموضوع ...ببساطة بنفس قاعدة البيانات اللي فيها الكليات والأقسام و و ... اعمل جدول للمستخدمين اسمو users

لا زم يكون فيه الحقول التالية:

userID, first_name , last_name , user_name , password , collage_id, is_admin

حيث userID هو معرف أتوماتيكي وحقول أخرى عن المعلومات الشخصية إذا حبيت

ولازم يكون فيه forign key constraint بين رقم الكلية في هذا الجدول واللي هو هون مفتاح ثانوي مع رقم الكلية في جدول الكليات واللي هو مفتاح أساسي

وبعد تسجيل الدخول عن طريق اسم المستخدم user_name وكلمة المرور password تقوم باسترجاع رقم الكلية collage_id والحقل is_admin من أجل السماحيات... وتوجه الصفحات حسب رقم الكلية المسترجع

#19
khuloud كتب:

يا أخي والله ما بعرف ليش معقد الموضوع ...ببساطة بنفس قاعدة البيانات اللي فيها الكليات والأقسام و و ... اعمل جدول للمستخدمين اسمو users

لا زم يكون فيه الحقول التالية:

userID, first_name , last_name , user_name , password , collage_id, is_admin

حيث userID هو معرف أتوماتيكي وحقول أخرى عن المعلومات الشخصية إذا حبيت

ولازم يكون فيه forign key constraint بين رقم الكلية في هذا الجدول واللي هو هون مفتاح ثانوي مع رقم الكلية في جدول الكليات واللي هو مفتاح أساسي

وبعد تسجيل الدخول عن طريق اسم المستخدم user_name وكلمة المرور password تقوم باسترجاع رقم الكلية collage_id والحقل is_admin من أجل السماحيات... وتوجه الصفحات حسب رقم الكلية المسترجع

يا أخي والله ما بعرف ليش معقد الموضوع ...ببساطة بنفس قاعدة البيانات اللي فيها الكليات والأقسام و و ... اعمل جدول للمستخدمين اسمو users

لا زم يكون فيه الحقول التالية:

userID, first_name , last_name , user_name , password , collage_id, is_admin

حيث userID هو معرف أتوماتيكي وحقول أخرى عن المعلومات الشخصية إذا حبيت

ولازم يكون فيه forign key constraint بين رقم الكلية في هذا الجدول واللي هو هون مفتاح ثانوي مع رقم الكلية في جدول الكليات واللي هو مفتاح أساسي

وبعد تسجيل الدخول عن طريق اسم المستخدم user_name وكلمة المرور password تقوم باسترجاع رقم الكلية collage_id والحقل is_admin من أجل السماحيات... وتوجه الصفحات حسب رقم الكلية المسترجع

يا أخي والله ما بعرف ليش معقد الموضوع ...ببساطة بنفس قاعدة البيانات اللي فيها الكليات والأقسام و و ... اعمل جدول للمستخدمين اسمو users

لا زم يكون فيه الحقول التالية:

userID, first_name , last_name , user_name , password , collage_id, is_admin

حيث userID هو معرف أتوماتيكي وحقول أخرى عن المعلومات الشخصية إذا حبيت

ولازم يكون فيه forign key constraint بين رقم الكلية في هذا الجدول واللي هو هون مفتاح ثانوي مع رقم الكلية في جدول الكليات واللي هو مفتاح أساسي

وبعد تسجيل الدخول عن طريق اسم المستخدم user_name وكلمة المرور password تقوم باسترجاع رقم الكلية collage_id والحقل is_admin من أجل السماحيات... وتوجه الصفحات حسب رقم الكلية المسترجع

السلام عليكم

اخي اشكرك على الرد وبارك الله فيك

بعد التعب والعناء لم احصل على حل الي انا كنت عاوزة وهو استخدام قاعده بيانات aspnetdb.mdf واضافه لها جداول مشروعي والربط بينهما !!!

ذهبت الى الحل الثاني وهو مثلك كلامك عملت قاعده بيانات وفيها جداول الكليات والاقسام وووو وجدول المستخدمين وجدول المهام (السماحيات) وربطت بين جدول الكليات وجدول المستخدمين عن طريق Id_college

جدول الكليه

id_college=primerykey

name_college

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

id_roles=primerykey and aut

name_roles

جدول المستخدمين

id_user =primerykey and Aut

first name

email

user name

password

id_college=forign key

id_roles=forign key

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

#20

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

اخي يمكنك عمل استعلام لجلب الكليه الخاصه بالمستخدم من ثم قم بعرضه معلوماتها, جرب الاستعلام التالي


Select * From Collges,Users Where Colleges.id_college=Users.id_college And [user name]=@UserName

.:: Wish to become better and better ::.

#21

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

بكل الأحوال الاستعلام التالي بيفيدك لحتى تجيب معلومات الكلية حسب معلومات تسجيل الدخول (اسم المستخدم وكلمة المرور)

 select * from collages where collage_id = (select collage_id from users where user_name=@user_name and password =@password)

والاستعلام التالي بيجيب السماحية حسب معلومات تسجيل الدخول

select * from roles where role_id = (select role_id from users where user_name=@user_name and password=@password)

بكل الأحوال إنت لست بحاجة سوى لقاعدة بيانات واحدة فقط هي قاعدة البيانات التي أنشأتها

أنا اشتغلت نفس الفكرة بمشروع من المشاريع بيضم 15 جامعة ولكل جامعة admin خاص هو من يقوم بإنشاء المستخدمين بالجامعة

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

مثلا إذا المستخدم تابع للجامعة x تظهر بيانات الجامعة x ..

لكن بدك تنتبه لازم يكون فيه admin أساسي لكل المشروع هو من يستطيع إضافة admin للجامعات ويرى بيانات كل الجامعات

#22
khuloud كتب:

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

بكل الأحوال الاستعلام التالي بيفيدك لحتى تجيب معلومات الكلية حسب معلومات تسجيل الدخول (اسم المستخدم وكلمة المرور)

 select * from collages where collage_id = (select collage_id from users where user_name=@user_name and password =@password)

والاستعلام التالي بيجيب السماحية حسب معلومات تسجيل الدخول

select * from roles where role_id = (select role_id from users where user_name=@user_name and password=@password)

بكل الأحوال إنت لست بحاجة سوى لقاعدة بيانات واحدة فقط هي قاعدة البيانات التي أنشأتها

أنا اشتغلت نفس الفكرة بمشروع من المشاريع بيضم 15 جامعة ولكل جامعة admin خاص هو من يقوم بإنشاء المستخدمين بالجامعة

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

مثلا إذا المستخدم تابع للجامعة x تظهر بيانات الجامعة x ..

لكن بدك تنتبه لازم يكون فيه admin أساسي لكل المشروع هو من يستطيع إضافة admin للجامعات ويرى بيانات كل الجامعات

ال

تم تعديل هذه المشاركة بواسطة altae13 في 4 يوليو 2011 في 17:09

#23

سلام عليكم

املك صفحه واحده ويحتلف محتواه حسب رقم الكليه ! وانا عملت admin رئيسي للدخول الى كل الكليات

شرح لك خطوات عملي

لديا

admin1= له الحق بالاطلاع على كل الكليات ويضيف admin الى كل كليه يعني هو الكل بالكل

admin = له الحق بالاطلاع على كليته فقط ويضيف users الى كليته وعمليات التعديل على بياتات كليته فقط

user=له الحق بالاطلاع على كليته فقط مع عمليات التعديل على بياناته كليته .

اانا اريد من يدخل اليورز اسم المستخدم وكلمه السر يذهب الى الكليه التابعه لهذا اليوزر مع مراعاه اذا كان admin1 تطهر له اعدادت خاصه به واذا كان admin تطهر له اعدادت خاصه به واذا كان user تطهر له اعدادات الخاصه به

انا عملت واجهه مبسطه لكي اوضح لك الصورة

سوالي

كيف يمكن انا ارسل رقم السماحية ورقم الكليه واضعهما في session لكل استطيع انا اتعامل معهما في الصفحات الاخرى

post-235270-022848900 1309789631_thumb.j

المرفقات
untitled.JPG
#24

انت كتبت بتعليق سابق الجداول هي

جدول الكليه

id_college=primerykey

name_college

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

id_roles=primerykey and aut

name_roles

جدول المستخدمين

id_user =primerykey and Aut

first name

email

user name

password

id_college=forign key

id_roles=forign key

1 - اعمل stored procedure فيه الاستعلام التالي :

ALTER PROCEDURE dbo.get_user
	(
	@userName nvarchar(50) ,
	@password nvarchar(50)
	)
AS
	select userID, id_collage , id_role from Users
	where userName=@userName and password=@password
	RETURN

2- في حدث onclick لزر تسجيل الدخول اكتب الكود التالي :

 protected void loginButton_Click(object sender, EventArgs e)
    {
        string connectionString = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        SqlConnection con = new SqlConnection(connectionString);
        SqlCommand cmd = new SqlCommand("dbo.get_user", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add(new SqlParameter("@userName", SqlDbType.NVarChar, 50));
        cmd.Parameters["@userName"].Value = user_name.Text.Trim();//user_nameهو اسم مربع النص الذي يدخل فيه اسم المستخدم
        cmd.Parameters.Add(new SqlParameter("@password", SqlDbType.NVarChar, 50));
        cmd.Parameters["@password"].Value = password.Text.Trim() ;//password هو اسم مربع النص الذي يدخل فيه المستخدم كلمة المرور
        try
        {
            con.Open();
            SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.SingleRow);
            if (!reader.HasRows) // لا يوجد نتائج 
            {
                state_label.Text = "اسم مستخدم أو كلمة مرور خاطئين";
                password.Focus();
            }
            else
            {
                reader.Read();
                    Session["id_collage"] = (string)reader["id_collage"];
                    Session["id_role"] = (int)reader["id_role"];
                    Session["user_id"] = (int)reader["userID"];
                    Response.Redirect("yourHomePage.aspx");
            }
        }
        catch (Exception err)
        {
            state_label.Text = "فشلت عملية الاستعلام";

        }
        finally
        {
            con.Close();
        }
    }

3- في صفحة yourHomePage.aspx تستخدم متحولات الجلسة مباشرة

على سبيل المثال

 int x = session["id_collage"]

4 - إذا فيه غموض بأي سطر أنا جاهزة للشرح

بالتوفيق

#25

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

اشكرك على الشرح الي اكثر من رائع وانا طبقت المثال والحمد الله مشال الحال واستخدامت طريقه اخرى ايظا وذلك باستخدام Linq to sql وحصلت على نفس النتائج

والحمد الله على كل حال

اشكرك مرة ثانية

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

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

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

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

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