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

شرح نظام الصلاحيات وانشاء شاشة الدخول بالتفصيل...

Featured Replies

بتاريخ:
  • كاتب الموضوع

السلام عليكم
هذا هو الجدول:

create table user_login(
USR VARCHAR2(30) PRIMARY KEY,
PASS VARCHAR2(30),
USR_TYPE NUMBER(2),
usr_status number(2));



والفورم بالمرفقات...فقط قم بتغيير المسار الى مسار الشاشة الرئيسية عندك بكود اللوجن و عندك ترجر ON-LOGON اكتب اسم الداتا بيز عندك واليوزر والباس...

بالتوفيق

users.rar

  • الردود 156
  • المشاهدات 67.1k
  • البداية
  • اخر رد

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

Most Popular Posts

  • أشــــرف
    أشــــرف

    اخي العزيز مشكور على الكود لكن عن كتابة البروسيجر يظهر ايرور bind variable حاولت الغي bind مما يسبب exception ياريت تساعدني ومشكور مقدما

  • السلام عليكم فورم المستخدمين وفورم الدخول بالمرفقات... بالتوفيق sys_login.rar

  • الأخ بالي الحبيب العزيز مشكور على موضاعتك القيمة والممتازة ولي رآى في هذا الموضوع (موضوع الصلاحيات ) ماذا لو افترضنا ان لدينا نظام كبير لشركة كبرى ويوجد فيها العديد من الأنظمة انني اقترح ان تبد

الصور المنشورة

بتاريخ:

سلام عليكم

اخي العزيز لقد وجدت خطا في البروسيجر فانت معرف UPPER(USR) وهذا ليس موجود فيعطيني IDENTIFIER 'USR' MUST BE DECLARED

وايضا انا اتمنى لو تضيف اسم يعني المستخدم يضيف اسم والباسورد




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

كـود PHP
SET_BLOCK_PROPERTY('BLK.BUTTON_NAME',ENABLED,PROPERTY_FALSE);




شكرا لك وسامحنا على كثرة الاسئلة وربنا يجزيك كل خير
بتاريخ:
  • كاتب الموضوع

السلام عليكم
اخي العزيز...الفورم شغال 100 % فقط لا تقم بتغيير اسماء الايتم..
قم بانشاء الجدول كما هو...
وادخل على فورم المستخدمين واعمل REFRESH من قائمة TOOLS>>>DATABLOCK WIZARD وقم بادخال مستخدم ...
ومن ثم قم بعمل RUN لفورم الدخول بدون اي تغيير فقط قم بتغيير المسار الى مسار شاشة الــ INTERFACE عندك هذا اولا ... وثانيا غير القيم الموجود في ترجر ON-LOGON في فورم الدخول...
بالنسبة للسكريبت:
انت عندك بفورم المستخدمين نوع المستخدم وانا عملتلك اياه LIST ITEM نوعين فقط صحيح ؟؟
والكود الموجود بشاشة الدخول موجود هذا الكود :

:GLOBAL.P_USER_TYPE:=VV_USRTYPE;



بمعنى أنني احضرت بالبدايه نوع هذا المستخدم الذي قام بالدخول على النظام ووضعته داخل GLOBAL VARIABLE ...
انت عندك فورم الــ INTERFACE عبارة عن ازرار...داخل هذا الورم على مستوى الموديول بداخل ترجر WHEN-NEW-FORM-INSTANCE اكتب الكود التالي:

IF :GLOBAL.P_USER_TYPE:= 1 THEN
SET_BLOCK_PROPERTY('UR_BLOCK_NAME',UPDATE_ALLOWED,PROPERTY_FALSE);
SET_BLOCK_PROPERTY('UR_BLOCK_NAME',DELETE_ALLOWED,PROPERTY_FALSE);
END IF;


معنى هذا الكود : انك منعت المستخدم الذي نوعه = 1 وهو المدخل بالبداية بفورم المستخدمين عند اختيارك القيمة من الــ LIST ITEM من الحذف والتعديل على هذا البلوك وهكذا...
أرجو ان تكون الفكرة قد وضحت...
بالتوفيق

أرجة

بتاريخ:

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

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

CREATE TABLE  "USER_PRV" 
  (    "USR_ID"                VARCHAR2(100), 
   "USR_ANAME"      VARCHAR2(100), 
   "USR_ENAME"       VARCHAR2(100), 
   "USR_PASSWORD" VARCHAR2(50), 
   "USR_TYPE"             NUMBER, 
   "USR_STATUS"        NUMBER,  
  "log_time" time,
    CONSTRAINT "USER_PRV_PK" PRIMARY KEY ("USR_ID") ENABLE
  )



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

وفي البروسيجر نضع مسج اذا دخل اليسر في غير وقته "You are not allowed to enter in this time"


في امان الله وحفظة

بتاريخ:
  • كاتب الموضوع

السلام عليكم
اخي راجع هذا الموضوع:

http://www.araboug.org/ib/index.php?showtopic=35649

بالتوفيق

بتاريخ:

ACC_MNU.MENU1.MAIN


لو عندي مينيو my menu

وبها قائمه cons

وبها عنصر add


كيف حيكون الكود لمنع المستخدم من الدخول لها وشكرا

بتاريخ:
  • كاتب الموضوع

السلام عليكم
كالتالي اخي:

SET_MENU_ITEM_PROPERTY('cons.add',VISIBLE,PROPERTY_FALSE);



بالتوفيق

بتاريخ:

ظلت ظاهره وطلع رساله انه البند غير موجود في القائمه لما اضغط عليها

بس في مشكله تانيه انا حاطط المنيو في logon form

قبل ماادخل اي يوزر بقدر ادخل على كل الايتم كيف امنعه ؟؟ قبل

بتاريخ:
  • كاتب الموضوع

السلام عليكم
اخي قم بعمل MAIN PAGE اربط المنيو عليها
ومن اللوجن فورم بتنادي الــ MAIN PAGE افضل...
خبرني بالنتيجه...
طبعا ليس الفورم السابق يعمل لوحده:

IF :GLOBAL.P_USER_TYPE=1 THEN
SET_MENU_ITEM_PROPERTY('cons.add',VISIBLE,PROPERTY_FALSE);
ELSE
CALL_form('C:\GBT_SYS\FRM\COURSES.fmx');
END IF;



يجب عليك تحديد نوع او اسم المستخدم....

تم تعديل بواسطة PALI.ORACLE

بتاريخ:

مانفع يااخي لازم احط المنيو في اللوجن فورم

واي منيو اضعها في اللوجن بتصير هي ال defualt لكل الفورم الي وراها

بتاريخ:
  • كاتب الموضوع

السلام عليكم
اخي ازا الديفيلوبر عندك 6 ارفق الفورمز والمنيو...

بتاريخ:

الديفلوبر 10 جي

بتاريخ:
  • كاتب الموضوع

السلام عليكم
اوك اخي مو مشكله..
ولكن المنيو يفضل وضعها على الــ main page وليس على الــ login
وما الخطأ عندك بالتحديد ؟؟
جرب وضع المنيو على اي فورم اوك ؟
واستدعي هادا الفورم من داخل اللوجن...

بتاريخ:

حاولت وضعها في الواجهه الرئيسه مش في اللوجن

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

بتاريخ:
  • كاتب الموضوع

بسم الله الرحمن الرحيم



سنضيف الى الموضوع ان شاءالله كيفية السماح للمستخدم بتغيير الــ PASSWORD الخاصة به:

اولا نقوم بانشاء PROCEDURE ونكتب فيه الكود التالي:

PROCEDURE CHNG_PASS IS
ALERT_BUTTON NUMBER;
V_USER	 VARCHAR2(100);
V_OLD_PASS VARCHAR2(100);

BEGIN

SELECT USR_ID , USR_PASSWORD 
INTO   V_USER,V_OLD_PASS
FROM   USER_PRV
WHERE  USR_ID = :BLKCHANGE.V_USERID AND USR_PASSWORD = :BLKCHANGE.V_PASSWORD;

IF :BLKCHANGE.V_NEWPASSWORD <> :BLKCHANGE.V_CONFIRMP THEN 
MESSAGE('NEW PASSWORD IS NOT LIKE CONFIRM PASSWORD');
MESSAGE('NEW PASSWORD IS NOT LIKE CONFIRM PASSWORD');
RAISE FORM_TRIGGER_FAILURE;
ELSE
FORMS_DDL('UPDATE USER_PRV
SET USR_PASSWORD = '''||:BLKCHANGE.V_NEWPASSWORD||
''' WHERE UPPER(USR_ID) = UPPER('''||:BLKCHANGE.V_USERID||''')');

ALERT_BUTTON := SHOW_ALERT( 'SAVE' );
IF ALERT_BUTTON = ALERT_BUTTON1 THEN 
FORMS_DDL('COMMIT');
END IF;

END IF;

EXCEPTION WHEN NO_DATA_FOUND THEN 
RAISE FORM_TRIGGER_FAILURE;
CLEAR_FORM(NO_COMMIT);
END;



ونستدعي اسم البروسيجر على زر تغيير الباسوورد ... اذا سيكون شكل الفورم كما في الصورة...
التويق للجميع...
تحياتي..

تم تعديل بواسطة PALI.ORACLE

بتاريخ:
  • كاتب الموضوع

بسم الله الرحمن الرحيم



سنضيف الى الموضوع ان شاءالله كيفية السماح للمستخدم بتغيير الــ PASSWORD الخاصة به:

اولا نقوم بانشاء PROCEDURE ونكتب فيه الكود التالي:

PROCEDURE CHNG_PASS IS
ALERT_BUTTON NUMBER;
V_USER	 VARCHAR2(100);
V_OLD_PASS VARCHAR2(100);

BEGIN

SELECT USR_ID , USR_PASSWORD 
INTO   V_USER,V_OLD_PASS
FROM   USER_PRV
WHERE  USR_ID = :BLKCHANGE.V_USERID AND USR_PASSWORD = :BLKCHANGE.V_PASSWORD;

IF :BLKCHANGE.V_NEWPASSWORD <> :BLKCHANGE.V_CONFIRMP THEN 
MESSAGE('NEW PASSWORD IS NOT LIKE CONFIRM PASSWORD');
MESSAGE('NEW PASSWORD IS NOT LIKE CONFIRM PASSWORD');
RAISE FORM_TRIGGER_FAILURE;
ELSE
FORMS_DDL('UPDATE USER_PRV
SET USR_PASSWORD = '''||:BLKCHANGE.V_NEWPASSWORD||
''' WHERE UPPER(USR_ID) = UPPER('''||:BLKCHANGE.V_USERID||''')');

ALERT_BUTTON := SHOW_ALERT( 'SAVE' );
IF ALERT_BUTTON = ALERT_BUTTON1 THEN 
FORMS_DDL('COMMIT');
END IF;

END IF;

EXCEPTION WHEN NO_DATA_FOUND THEN 
RAISE FORM_TRIGGER_FAILURE;
CLEAR_FORM(NO_COMMIT);
END;



ونستدعي اسم البروسيجر على زر تغيير الباسوورد ... اذا سيكون شكل الفورم كما في الصورة...
التويق للجميع...
تحياتي..

post-73694-1248726394_thumb.jpg

تم تعديل بواسطة PALI.ORACLE

بتاريخ:

حاولت احل المشكلة وظبطت باني حطيت على فورم اللوجن when new form instance يعمل القوائم enabled false

ولما يضغط دخول يعملهم yes

لكن في مشكلة اني لما اضغط خروج من الشاشة الرئيسية برجعني للوجن وبتصير المنيو enabled yes

فهل من حل

بتاريخ:
  • كاتب الموضوع

السلام عليكم
اخي عماد...
قمت بعمل مثال بسيط جدا عن كيفية استدعاء المنيو...
في المرفقات :
1- المنيو
2- MAIN FORM
3- FIRST FORM

ضع المجلد على القرص C واعمل RUN لفورم الــ FIRST...
واعمل COMPLIE لملف المنيو لانه انا عاملها على DEVELOPER 6I ....

جرب وخبرني بالنتيجة...
بالتوفيق..
تحياتي..

TEST.rar

تم تعديل بواسطة PALI.ORACLE

بتاريخ:

ظبطت اخوي مشكور بس لي استفسار

لاحظت انك مستخدم new form

وانا كنت مستخدم call form

شو الفرق بينهم

بتاريخ:
  • كاتب الموضوع

السلام علبكم

OPEN_FORM : تفتح الفورم مع ابقاء الفورم الاصليه مفتوحه.
CALL_FORM : تفتح الفورم مكان الاصليه.
وNEW_FORM تشابه CALL_FORM مع الاختلاف في ان CALL_FORM تجعل الفورم المستدعي منها-الاصليه-مفعله في اي اذا اغلقت الفورم المستدعاه سوف تعود الي الاخري-المستدعي منها-اماNEW_FORM فلا تعود إلا عند الاغلاق تخرج مباشره.
بالتوفيق

بتاريخ:

اخي عمل الصلاحيات

وظبطت وبمنع المستخدم من الدخول

لكن تظهر لي هذه الرساله كيف اخفيها واظهر شي بدالها

مثل غير مصرح لك بالدخول


الصوره في المرفقات

post-92399-1248737307_thumb.jpg

بتاريخ:
  • كاتب الموضوع

السلام عليكم
متى تظهر لك هذه الرسالة ؟؟
بامكانك عمل كالتالي:
على ترجر ON-MESSAGE و ON-ERROR كتابة :

NULL;


بس ياريت تحكيلي متى تظهر معاك هذه الرسالة بالتحديد ...لكي نحل المشكله 100 %
بالتوفيق

بتاريخ:

بتظهر لما اضغط على عنصر في القائمة غير مسموح له بالدخول لها

بتاريخ:
  • كاتب الموضوع

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

بتاريخ:

الأخ بالي الحبيب العزيز

مشكور على موضاعتك القيمة والممتازة

ولي رآى في هذا الموضوع (موضوع الصلاحيات )

ماذا لو افترضنا ان لدينا نظام كبير لشركة كبرى ويوجد فيها العديد من الأنظمة

انني اقترح ان تبدأ صلاحية المستخدم من لحظة الدخول على الشركة , الفرع , الدائرة,النظام , الشاشة,

لقد تم تجربة طريقة أخرى وهي تتمثل فية تخزين اسماء القوائم في جدول ويتم تخزين القوائم الفرعية ايضا في جدول

على start code في Main_Menu يتم التحكم بظهور او عدم ظهور الشاشة حسب الصلاحية مرفق لك صورة للشاشة التي يتم التحكم فيها بالصلاحيات

H.M.M.A

post-92018-1248836118_thumb.jpg

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

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

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

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

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

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.