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

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

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

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

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

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

ان اردت ان تكون علي مستوي من العمل فعليك ان تنشئ Role وتعطي هذا ال Role ما تريد من صلاحيات

وكن دائما بخيلا في الصلاحيات واياك ان تفرط بالصلاحيات لان المسؤولية جسيمة

ما علينا

سنقوم بإنشاء Role ونعطيه صلاحيات محدودة ومن ثم نمنح هذا ال Role الي المستخدمين ذوى الشأن

سنذهب الي sql

شغل ال sql وادخل الي قاعدة البيانات كمدير لها (DBA)

sql>create role moh1 ;

في هذه الخطوة انشانا روول واعطيناه اسم moh1

Sql>grant connect, resource to moh1;

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

نريد ان ننشئ مستخدم وليكن اسمه salem ونريد ان نمنحه هذا ال Role نتبع الاتي

SQL> create user salem identified by salem;

الخطوة الاولي انشاء المستخدم

SQL> grant moh1 to salem;

في هذه الخطوة تم منح المستخدم الصلاحيات المعطاة الي ال Role

طبعا هناك الكثير مثل منح ال Role صلاحيات علي Table معين وبأمكانك ايضا اعطاء صلاحيات علي حقل في جدول

بعد ان فرغنا من انشاء ال role اغلق ال sql كالتالى

Sql>exit

اذهب وشغل Forms Builder وعلي مستوي ال MODULE انشئ Trigger واختر من

ال code triggers الحدث pre-form ومن ثم اضغط علي زر الماوس الايمن واختر pl/sql editor

ومن ثم اكتب التالي

declare

x number;

begin

if not(DBMS_SESSION.IS_ROLE_ENABLED('ADMINISTRATIVE')) or

(DBMS_SESSION.IS_ROLE_ENABLED ('moh1'))

then

x:=show_alert('check_user');

PAUSE;

RAISE form_trigger_failure;

end if;

end;

ومن ثم اختار compile و اغلاق

شرح الكود

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

بعد ذلك يتم فحص اسم المستخدم اذا كان ضمن الRole الاول وهو ال ADMINISTRATIVE

او ال Role الاخر وهو موضوعنا Moh1 يتم الدخول الي البرنامج والعكس صحيح

كيف؟

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

اذا كان هناك ايه مشاكل في انشاء الرسالة او (Alert) فأنا علي استعداد تام لتوضيحها وشرحها بالصور ايضا

مجرد البداية ان شاء الله.

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

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

#2

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

ماهذه المعلمات الجميله و القيمه يا أخى فى الله ولكن هذا هوا ما نتوقعه

من اهل الصمود و الكفاح و البطوله

جزاك الله خيرا

و بارك الله فى علمك وزادك من فضله

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

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

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

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

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

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

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