الانتقال إلى المحتوى
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.

7 خطوات سهلة لإنشاء نظام صلاحيات كامل على الفورم

Featured Replies

بتاريخ:

مشكور أخوي على الخطوات الرائعة




يعطيك الف عافية

  • بعد 1 شهر...
  • الردود 96
  • المشاهدات 60k
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

Most Popular Posts

  • السلام عليكم ورحمة الله وبركاته جزاكم الله خيراً عن هذه المعلومات المهمة أو ان اضيف طريقة أخرى شبيهة بهذه الطريقة وهي ان تكون 4 roles وتعطي كل role صلاحية معينة مثلاً: 1- master هذه تعطى كل الصلاحي

بتاريخ:

مشكوووووووووووووور أخوي والله يزيك من علمه

بتاريخ:

مشكور


مشكورمشكور
مشكورمشكورمشكور
مشكورمشكورمشكورمشكور
مشكورمشكورمشكور
مشكورمشكور
مشكور

  • بعد 2 أسابيع...
بتاريخ:

شكراً لك اخي الكريم
مشكورررررررررررررررررررررررر

بتاريخ:

بارك الله فيك علي هذه المعلومات القيمة

  • بعد 2 شهور...
بتاريخ:

السلام عليكم،،
يعطيك العافية
يا أخي selfcontrole أنا أعرف الطرقة التي تحدثت عنها وذلك بإعطاء الصلاحيات للمستخدم ومن ثم إعطاءها إلى الـ menu لكن يا أخي لم تعمل معي بالشكل الصحيح حيث أنه ظهرت لي رسالة utilisateur non autorisé a executer form builder menu . فالرجاء منك يا أخي أن ترسل إلي ملف مساعدة إلى الإيميل التالي :
[email protected] أو [email protected] ويا حبذا لو يكون هذا الملف على شكل مرفق .doc
اللهم اغفر لي ولي أخي وجميع المسلمين والسلام عليكم.
أنا في الإنتظار...............

  • بعد 1 شهر...
بتاريخ:

مشكور على الموضوع الرائع و الكودات الاكثر من روعة ،،، وفي انتظار المزيد
لكن ماذا نضع في الفورم من أدوات التول بوكس ؟؟؟ وشكرا

  • بعد 5 أسابيع...
بتاريخ:

[وسط] بسم الله الرحمن الرحيم


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

[/وسط]

  • بعد 3 أسابيع...
بتاريخ:

جزاك الله خيرا وشكرا على هذه المعلومات.

بتاريخ:

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

  • بعد 5 أسابيع...
بتاريخ:

اشكركم على هذا الجهد ونتمنى لكم التوفيق

بتاريخ:

اخوي الفاضل
اشكرك كل الشكر على هذه المعلومات القيمة
كم اتمنى ان اعمل هذه الصلاحيات على نظامي
ولكني واجهت عدة مشاكل من اهمها انه يظهر لي الخطأ
التوقف عند DBA_ROLE_PRIVS
والخطأ مكتوب بهذا الشكل
DBA_ROLE_PRIVS must be declared
ارجوك ساعدني في حل المشكلة وشكرا

  • بعد 2 أسابيع...
بتاريخ:

مشكور أخي العزيز على هذه المعلومات

  • بعد 1 شهر...
بتاريخ:

الف الف شكر وجزاك الله عنا كل خير وخير عمل عمل خير في سبيل الله ومرفق هديتي لكم
مع تحيات سعيد الخصاونه-الاردن

  • بعد 1 شهر...
بتاريخ:

شكراً جزيلا أخي AAA على هذا الكود الجميل.

لكن أنا مع أخي selfcontrol عند كتابة هذا الكود وخاصة في Trigger كلما كان النموذج يحتوي على عناصر كثيرة زادت المقارنات ، وبذلك كلما عدلنا عنصر بالنموذج يجب تعديل الكود.

وأنا شخصياً أستخدم طريقة Menu Security في عمل الصلاحيات.

وجزاك الله خيرا أخي الكريم.

  • بعد 5 أسابيع...
بتاريخ:

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

  • بعد 3 أسابيع...
بتاريخ:

السلام عليكم

اخى العزيز
شكرا لك و ربنا يارك لك على الشرح الجميل و المفيد

بس فى استفسار لو سمحت .. و هو

انا بستخدم الاصدار 10G و عند منح مستخدم صلاحيه ما يعمل معى ..

فما الفائدة التى سوف ترجع لى فى حاله منحه صلاحيات على dba_role_privs

- فما هذا الجدول ؟

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

و شكرا

  • بعد 4 شهور...
بتاريخ:

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

وتستاهل تأخذ درجة +A

أو AAAA

  • بعد 2 شهور...
بتاريخ:

الحمد لله والصلاه والسلام علي رسول الله صلي الله عليه وسلم


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

  • بعد 2 شهور...
بتاريخ:

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

  • بعد 9 شهور...
بتاريخ:

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

بعد ماكثرت الاسئلة حول كيفية استخدام الصلاحيات على الفورم وبما أنني عضو من أعضاء هذا المنتدى المتميز سأقوم بعرض طريقة أنا أستخدمها شخصيا ومن صنعي أنا وزميل لي أثناء الدراسة حيث قمنا بإنشاء 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>

  • بعد 1 شهر...
بتاريخ:

شكرا على الافادة جزاكم الله كل خير

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

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

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

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.