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

شاشة ادارية لإنشاء مستخدمين من الفورم

مغلق
بدأه SQL_MAN في 24 أكتوبر 2003 · 19 رد · 6,099 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

البرنامج هو برنامج مكاتب تأجير سيارات .... وأعدكم ان اضع هذا البرنامج بعد نهايته في المنتدى ليستفيد منه الاعضاء كسورس مفتوح والسلام عليكم .....

#2

هذا من الطرق السهله جدا

اذا كنت تريد عمل يوزر داتا بيز تستطيع عمل فورمة كما تريد و تستخدم علي زر الحفظ

forms_ddl

وهي وظيفتها ان تقوم بارسال اوامر ال ddl من الفومرة كما هيا

اما بالنسبة لمنح و تعديل الصلاحيات لمستخدم سكون علي هيئة علامات CHECK BOX

و علي زناد تغير الايتم تضع كود المنح او االسحب للصلاحية من داخل FORMS_DDL

ارجوا ان يفيدك هذا

تمنياتي بالتوفيق

ليس هناك

قلب ناصع البياض

ولا قلب قاتم السواد

ولكن دائما

black&white

#3

الاخ sql man

اذا كنت تريد المستخدمين في الداتابيس استخدم الطريقة التي ذكرها الاخ

black&white

اما اذا كنت تريد مستخدمين في الفورم

فقم بانشاء table للمستخدمين وtable للصلاحيات

واعمل شاشة خاصة لاضافة المستخدمين واعطائهم الصلاحيات

ثم قم بتصميم شاشة تظهر عندما الدخول الى البرنامج

تطلب اسم المستخدم وكلمة المرور

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

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

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

#4

السلام عليكم

الاخوان black and white و sql_man

اذا كان هناك جدولين فقط واحد للمستخدمين والآخر للصلاحيات فكيكف ستضاف اسماء ملفات الفورم اقصد الـFMX

بالنسبه للتقارير لو فرضنا انه يوجد 100 تقرير كيف احدد من له صلاحيه تشغيل ومن ليس له صلاحيه

#5

الاخ بن طالب

انا هنا قصدت اعطاء الفكرة فقط

ولم اقصد هنا ان يكون جدولين فقط

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

فاننا نحتاج الى جدول ثالث بحيث :

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

الجدول الثاني لاسماء الشاشات (اسماء ملفات الفورم اقصد الـFMX مثلا)

وبما ان العلاقة بين الجدولين هي many to many لذلك نحتاج الى جدول وسيط

لادخال المستخدم واسماء الشاشات التي له صلاحيات الدخول عليها

وهكذا

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

#6

شاكر لكم اهتمامكم ..... هذا اللي كنت ابيه ,, ابي انفذ امر ddl من داخل الفورمز

وهو امر create user وايضاً قرانت يوزر ....

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

الشي الثاني ,,, الرجاء توضيح استخدام الــ Form_DDL

ولكم جزيل الشكر :)

#7

السلام وعليكم لتفادى ظهور شاشة باسورد واسم المستخدم عند باية تشغيل الفورم

ضع الكود التالى بعده تعديله على التريقر on logon

,LogOn('usrname','password');

سبحان الله و الحمد لله لا اله الا الله و الله اكبر

#8

اولا شهر مبارك وكل عام وانتم بخير

الاخ SQL_MAN

اضافة بسيطة لما ذكره الاخ فارس عبدالله

LOGON('USER_NAME','PASSWORD@HOST_STRING');

بالنسبة لاستخدام

FORMS_DDL

ابحث في ال HELP الخاص بالدفلوبر

ستجد هناك شرح بالامثلة

مثال

FORMS_DDL('CREATE USER user_name IDENTIFIED BY password');

FORMS_DDL('GRANT grant1,grant2,grant3 TO user_name');

#9

الاخوان

Balck&Whiet o7oc بن طالب فارس عبدالله

كل عام وانتم بخير ومبروك عليكم الشهر وعلى جميع اعضاء المنتدى

صراحه اشكركم جزيل الشكر على المعلومات القيمه والاجابة الوافية للاستفسارات

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

#11

من راي الشخصي انه الحل الافضل لموضوع نظم السرية هوا وضعها علي الفومرز

ولكن ........

لكي تقوم بعمل نموذج قوي للامان يلزمك عمل برنامج قوي جدا لذلك

و غالبا معظم شركات السوفت وير يكون لديها مثل هذا البرنامج و تقوم بوضعه علي اي برنامج متكامل تقوم ببيعه

ولكي تعلم الصعوبات الخاصه ب انشاء مثل هذا النظام

يلزمك اولا تعريف مجموعة مستخدمين و تعريف مجموعة الفورمز التي لديك

ثم يلزمك وضع اربعة سماحيات لكل فورمة و هي الاستعلام و الالغاء و الادخال و التعديل

وتقوم بمعرفة السماحيات الخاصه بالمستخدم مع دخوله للفورم

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

هذا تحليل مبدئي لنظم السرية

ولكن كمبرمج يمكنك مبدأيا عمل نظام سرية يعتمد فقط علي سماحية الدخول لفورمة معينة ليس اكثر

تمنياتي بالتوفيق

ليس هناك

قلب ناصع البياض

ولا قلب قاتم السواد

ولكن دائما

black&white

#12

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

الاخ o7oc قلت في ردك على الاخ SQL_MAN

اقتباس
اضافة بسيطة لما ذكره الاخ فارس عبدالله

LOGON('USER_NAME','PASSWORD@HOST_STRING');

انا سويت هذي الطريقة وضبطت يدخل الفورم بدون ما يطلب اتصال.

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

انا حاط زر لما يضغطه الشخص يسوي له دخول

جيت ودعلت عليه خليته اذا ضغط على الزر يسوي log out و راحت الشاشة الي تقول تم الدخول بالفعل

وصار يدخل بأي اسم تكتبه يعني كأننا ما سوينا حماية

ياليت القا حل؟

وشكرا لتعاونكم

تم تعديل هذه المشاركة بواسطة php4pro في 30 أكتوبر 2003 في 14:33

#13

الاخ php4pro

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

هذا الكود يستخدم عندما لا تريد عمل حماية لبرنامجك من الداتا بيس

مثلا

اذا كنت تريد عمل مستخدمين من الفورم كما ذكر الاخوة

تجعل عملية الاتصال بالداتابيس تلقائيا

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

فالظاهر من كلامك انك تستخدم الحماية من الداتا بيس

لذلك لا تحتاج لوضع هذا الكود

#14

اخي العزيز sql man سبحان الله وافق ان يكون برنامجك مثل برنامجي شركه تاجير السيارات ...........

وقد انهيت الشاشه الرئسيه لاداره المستخدمين ...............

وإن شاء الله اني ابعطيك الترقرات لهذا .................

تقبل تحياتي ......

#15

عاجز عن شكرك اخوي هاوي عذب الايام

مشكور الف شكر ,,, وإن شاء الله الله يقدرني ارد جميلك :)

وهذا ايميلي للتواصل بالمسنجر ,,, بالنسبة لبرنامجي مكتمل الحمدلله باقي بس شاشة ادارية ,..,,,, وإن شاء الله نفيد بعض لنوصل ببرنامجنا الى الوجه المطلوب :)

#16

عفواً الايميل هو adel_111@hotmail.com وهو فقط للمسنجر ....

وهذا ايميل للمسجات adel8483@hotmail.com

#17
o7oc كتب:
الاخ php4pro

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

هذا الكود يستخدم عندما لا تريد عمل حماية لبرنامجك من الداتا بيس

مثلا

اذا كنت تريد عمل مستخدمين من الفورم كما ذكر الاخوة

تجعل عملية الاتصال بالداتابيس تلقائيا

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

فالظاهر من كلامك انك تستخدم الحماية من الداتا بيس

لذلك لا تحتاج لوضع هذا الكود

السلام عليكم

يبدو انك ما فهمت علي انا مسوي فورم يدخل الشخص فيه الشخص الاسم والرقم السري ثم يدخل للبرنامج لكن المشكلة في الشاشة الي تطلب الاتصال بالقاعدة كيف اشيلها غير طريقة logon لانها ما نفعت

تم تعديل هذه المشاركة بواسطة php4pro في 7 نوفمبر 2003 في 04:02

#18

اخي SQL\man

هذه الفورمات الخاصه باداره المستخدمين ............................

Users.zip

#19

الف شكر اخوي (هاوي عذب الايام ) ..........................

مشكوووووووووووووووور يعطيك الف عافيه

#20

السلام عليكم

الله يجزاك خير على وضع هذا الكود

لكن عندي سؤال ممكن اعرف ليش استخدمت هذا الاستعلام هنا في ال LOV الي في سحب الصلاحية يعني ابغى اعرف ايش وظيفته

SELECT DISTINCT ROLE_TAB_PRIVS.ROLE

FROM ROLE_TAB_PRIVS

WHERE ROLE_TAB_PRIVS.OWNER = 'CARS'

الي عرفته انك تستثني CARS من جدول الصلاحيات

انا استغنيت عنه وقمت بوضع الاستعلام هذا

select GRANTED_ROLE

from USER_ROLE_PRIVS

لان الكود السابق ما يظهر الصلاحية الي تبغا تسحبها

وشكرا لك

هذا الموضوع مغلق.

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

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

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

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

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