الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

لوحة القادة

  1. الزنتاني

    الزنتاني

    الأعضــاء
    1
    نقاط
    31
    إجمالي الأنشطة
  2. AAAA

    AAAA

    الأعضــاء
    1
    نقاط
    37
    إجمالي الأنشطة
  3. bnota_moslema

    bnota_moslema

    الأعضــاء
    1
    نقاط
    33
    إجمالي الأنشطة

المحتوى صاحب التقييم الأعلى

عرض المحتوى صاحب أعلى تقييم في 17 نوف, 2020 في جميع الأقسام

  1. AAAA
    السلام عليكم ورحمة الله وبركاته بعد ماكثرت الاسئلة حول كيفية استخدام الصلاحيات على الفورم وبما أنني عضو من أعضاء هذا المنتدى المتميز سأقوم بعرض طريقة أنا أستخدمها شخصيا ومن صنعي أنا وزميل لي أثناء الدراسة حيث قمنا بإنشاء FUNCTION للتاكد من صلاحية اي مستخدم يقوم بعمل الدخول على النظام وعلى اساس الصلاحية الممنوحة له تقوم باخفاء العناصر الخاصه بهذه الصلاحية. أولا: (الوظائف والامتيازات التالية تعتبر قياسية يمكنك التعديل عليها) نقوم بإنشاء وظائف مثلا: create role admin; create role data_entry; create role viewr; ثانيا: نمنح الوظائف الامتيازات التالية: grant connect,resource,dba to admin; grant select any table,update any table,delete any table,insert any table to admin; grant select any sequence, alter any sequence to admin; grant connect,resource to data_entry; grant select any table,update any table,delete any table,insert any table to data_entry; grant select any sequence, alter any sequence to data_entry; grant connect,resource to viewr; grant select any table to viewr; grant select any sequence to viewr; ثالثا: نقوم بمنح الوظائف السابقة الاستعلام من جدول الوظائف الموجود بالأوراكل: *مستخدمي ORACLE 8,8i قم بالدخول باسم المستخدم التالي (internal/oracle) وعمل التالي: grant select on dba_role_privs to admin; grant select on dba_role_privs to data_entry; grant select on dba_role_privs to viewr; *مستخدمي ORACLE9i قم بالدخول باسم المستخدم التالي (sys/sys as sysdba) تأكد من كلمة المرور حسب ماقمت بتعديله. رابعا: نقوم الآن بإنشاء المستخدمين ومنح كل حسب وظيفته: grant admin to user1 identified by u123; grant data_entry to user2 identified by u123; grant viewr to user3 identified by u123; الآن تم إنشاء الوظائف ومنحها الامتيازات ومنح الامتيازات للمستخدمين, بقي الآن دور FUNCTION التي سوف توضع في الفورم أولا: قم بفتح النموذج المراد وضع الوظائف عليه ثانيا: قم بالذهاب الى Program Units واضغط على زر create إختر Function وقم بتسميتها بـ USER_ROLE ثم قم بلصق الكود التالي: FUNCTION USER_ROLE(ROLEE VARCHAR2,USERS VARCHAR2) RETURN BOOLEAN IS CURSOR V_ROLES IS SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE=UPPER(USERS); ROLES_RECORD VARCHAR2(100); BEGIN OPEN V_ROLES; LOOP FETCH V_ROLES INTO ROLES_RECORD; EXIT WHEN V_ROLES%NOTFOUND; IF ROLES_RECORD=ROLEE THEN RETURN(TRUE); END IF; END LOOP; RETURN(FALSE); END; يتم في هذه الدالة استعلام عن الوظيفة الممنوحة حسب اسم المستخدم والرجوع بها ثالثا: في نفس النموذج قم بعمل Trigger من نوع WHEN-NEW-FORM-INSTANCE ووضع الاشياء التي تريد اخفاءها على حسب اسم الوظيفة كما في المثال التالي: IF USER_ROLE('data_entry',USER) THEN Set_item_Property('CONTROL.USER_MANAGMENT', ENABLED, PROPERTY_FALSE); END IF; عند وضع تحقق لوظيفة أخرى قم بالتعديل على اسم الوظيفة والعناصر فقط بعمل ELSE IF أو IF بهذا نكون أنشأنا نظام صلاحيات (مايخرش الميه) أتمنى من الجميع أن يستفيدوا من هذه الطريقة التي ربما كون جديدة لكنها من تأليفي أنا وزميل لي أثناء فترة الدراسة والله يشهد. ترقبوا مني في الايام القادمة بإذن الله كتابة جميع أكواد إدارة المستخدمين برمجيا من دون الرجوع للـ SQL. <marquee direction=right>(أرجو من كل من يقرأ هذا الموضوع الدعاء لي بالتوفيق في الدنيا والآخرة)</marquee>
  2. bnota_moslema
    لست خبيرة في قواعد بيانات اوراكل ولكني كنت ابحث في جزئية الصلاحيات لمستخدمي قاعده البيانات واكتشفت ان هناك 3 فيو الاول اسمه DBA_ROLE وفيه متسجل كل الرولز الموجوده والثاني اسمه DBA_ROLE_PRIVS وفيه متسجل اسم المستخدم والرول الخاص به والثالث اسمه ALL_USERS وفيه متسجل اسم المستخدم وتاريخ انشاؤه . اذن فلسنا في حاجه لعمل جدول للصلاحيات وجدول للمستخدمين لأنهم اصلا متسجلين على قاعه البيانات ، وبالنسبه لجدول الشاشات والصلاحيات لكل شاشه فيمكن التحكم فيها عن طريق تحديد الرول المسموح به من صفحة الخصائص لكل قائمة وبالتالي فنحن ايضا لسنا بحاجه لعمل جدول الشاشات والصلاحيات . واليكم شاشه الصلاحيات وبها 4 بلوك وهي نفس الفكرة التي استخدمها الاخ / emad_jad جزاه الله كل خير. 1- البلوك الاول كنترول بلوك عليه LOV نختار فيه اسم المستخدم من الفيو ALL_USERS مع وضع شرط تاريخ الانشاء حتى لايظهر المستخدم SYS, SYSTEM ,... وباقي المستخدمين على قاعده البيانات. 2- البلوك الثاني داتا بلوك على DBA_ROLES مع عمل WHERE CLAUSE لتحديد اسماء الرولز المطلوب ظهورها حتى لا يظهر كل الرولز الموجودة على قاعده البيانات. 3- البلوك الثالث على DBA_ROLE_PRIVS وفيه تظهر الرولز التي حصل عليها كل مستخدم مع عمل WHERE CLAUSE أيضا لتحديد اسماء الرولز المطلوب ظهورها حتى لا يظهر كل الرولز الموجودة التي حصل عليها المستخدم مثل CONNECT أو CREATE SESSION والتي لن يفهمها المستخدم العادي للبرنامج. 4- البلوك الربع عليه الازرار التي تمنح او تسحب من خلالها الصلاحيات واستخدمت فيها الامر FORMS_DDL وهي الفكرة التي استخدمها الأخ / عمر باعقيل في شاشات الشقق جزاه الله كل خير.
  3. الزنتاني
    السلام عليكم ورحمة الله وبركاته جزاكم الله خيراً عن هذه المعلومات المهمة أو ان اضيف طريقة أخرى شبيهة بهذه الطريقة وهي ان تكون 4 roles وتعطي كل role صلاحية معينة مثلاً: 1- master هذه تعطى كل الصلاحيات اي dba . 2- input هذه تعطى صلاحية الادخال والتعديل والحذف ولكن لاتعطى صلاحية الدخول علي التقارير . 3-output هذه تعطى صلاحية العرض فقط اي الدخول على التقارير . 3- input and output وهي تعطى صلاحية الادخال والتعديل والحذف والعرض ولكن لاتعطى صلاحيات الاخرى مثل تكوين مستخدم جديد او الغاء مستخدم او اعطاء صلاحية او عمل نسخة احتياطية من البيانات او استرجاع البيانات . عن طريق مايسمى بال synonamn.

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.