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

إلا أننا علمنا أن هناك طرق للأطلاع على كلمات المرور هذه و اختراقها

ومن خلال التجارب حاولت أن استدعي مستخدمي الويندوز ضمن ال Active Directory في جدول خاص تم إنشائه في الداتا بيس حيث تسجل اسمائهم في هذا الجدول ,ومن ثم عند تشغيل تطبيق الديفلوبر فورم يفحص النظام اسم مستخدم الويندوز الحالي هل هو مسجل ضمن قاعدة البيانات أم لا كما ينظر إلى صلاحياتة ضمن جدول الصلاحيات
و بهذه الطريقة يمكن أن نتجاوز عملية تخزين كلمات السر ضمن قاعدة البيانات بل التعامل مع مستخدمي ويندوز مباشرة غير أنني لم أنجح في ذلك لما يلي :-

1- لم استطع أن أجد أو سي أكس يستطيع أن يمرر مستخدم ويندوز إلى قاعدة البيانات من خلال الفورم, أي إضافة مستخدم مباشرة من خلال الفورم.

2- لم استطع الحصول على اسم المستخدم رغم أنني استخدمت الدوال المتاحة من قبل الديفلوبر للحصول على اسم المستخدم و هي المتوفرة في المكتبة
d2kwutil.pll
و في
d2kwutil.dll ليتم تسجيلها في الويندوز و الأستفادة من خدمات مكتبة pl/sql .

بتاريخ:

هلا اخي moneernet
بالنسبه لليوزر سهل جدا انك تعرفه عن طريق الفنكشن userenv لو راجعتها هتلاقي فيها اسم اليوزر و السشن و اسم الجهاز علي الشبكه و كل الي انت محتاجه
ناقصك بس ازاي يعمل استيراد للاسماء من الاكتف ديركتوري
بس اعتقد الطريقة دي رغم انها مبتكره لا توفي باحتياجات انظمة الامن
لانك تحتاج تحديد لصلاحية كل مستخدم علي كل شاشة مثلا
الحل في راي لهذه المشكله هي تشفير الداتا عن طريق دوال تشفير عالميه
اي الذي اعلمه ان هناك طرق للتشفير منتشره و تستطيع التعامل بها في لغات اخري و هي عبارة عن انكربشن الجوريثم اذا استطعنا انشاء مثل هذه الداله ستكون المشكله قد حلت
شكرا لك مع تمنياتي بالتوفيق

بتاريخ:

السلام عليكم رد على السؤال
في الملف المرفق

computer_name.txt

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

بتاريخ:

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

بتاريخ:

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

أخوك فى الله خالد طلعت

بتاريخ:
بتاريخ:

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

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

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

و ألف ألف ألف شكر و جزاكم الله الف خير
أخوكم
Moneernet

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

يا شباب لو سمحتم قمت بتمرير البارميتر
Terminal للداله Userenv فحصلت على نتيجة اسم الجهاز
غير أنني عندما قمت بتمرير البراميتر OS_user ظهرت لي رسالة
Invaild parameter أرجو منكم المساعدة علماً بأنني أعمل على بيئة
Windows 2000 Server
و لكم جزيل الشكر
أخوكم ;)

بتاريخ:

شرح الداله userenv

Purpose  
Returns information of VARCHAR2 datatype about the current session. This information can be useful for writing an application-specific audit trail table or for determining the language-specific characters currently used by your session. You cannot use USERENV in the condition of a CHECK constraint. The argument option can have any of these values:  


'ISDBA'

 returns 'TRUE' if you currently have the ISDBA role enabled and 'FALSE' if you do not.  


'LANGUAGE'

 returns the language and territory currently used by your session along with the database character set in this form: 

language_territory.characterset

 


'TERMINAL'

 returns the operating system identifier for your current session's terminal. In distributed SQL statements, this option returns the identifier for your local session. In a distributed environment, this is supported only for remote SELECTs, not for remote INSERTs, UPDATEs, or DELETEs.  


'SESSIONID'

 returns your auditing session identifier. You cannot use this option in distributed SQL statements.  


'ENTRYID'

 returns available auditing entry identifier. You cannot use this option in distributed SQL statements. To use this keyword in USERENV, the initialization parameter AUDIT_TRAIL must be set to TRUE.  


'LANG'

 Returns the ISO abbreviation for the language name, a shorter form than the existing 'LANGUAGE' parameter.  


'INSTANCE'

 Returns the instance identification number of the current instance


اي اعتقد انها لن تتعامل مستخدم الويندوز
مع تمنياتي بالتوفيق

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

أخي Black and White
أشكرك على هذا الجواب الرائع
و استميحك السؤال إلا توجد طريقة أخرى لأخذ اسم مستخدم الوندوز.

لدي طريقة أرجو أن تشاركني فيها و في كيفية استخدامها :-

هناك مكتبة Pl/SQL توجد في مجلد الـ Developer 6i تسمى (D2KWUTIL.PLL) تعمل هذه المكتبة بالتفاعل مع مكتبة الـ DLL التالية :
(D2KWUT32.DLL)
لكنني لم أستطع الحصول على مكتبة الـ DLL هذه

للأطلاع على هذا الموضوع بشكل مفصل أرجوك أن تستفيد من ملفات المساعدة الخاصة بال Form6i حيث يتم الدخول إلى جزء ملف المساعدة التالي :-
Windows System Interface library (Form Builder only)

حيث أن هناك دالة ضمن هذه المكتبة هي
Win_Api_Environment.Get_Windows_Username
ترجع هذه الدالة اسم مستخدم الويندوز
شكراً ;)

بتاريخ:

الحل من ميتالينك
Use the WIN_API_ENVIRONMENT.Get_Windows_Username function from D2kwutil.pll library which returns the username supplied to log into Windows.
و مرفق D2kwutil.pll
مع تمنياتي بالتوفيق

d2kwutil.pll

بتاريخ:

d2kwut60.dll

d2kwut60.dll

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

الأخ Black and White
متأسف على ثقالة الدم هذه و لكن جربت استخدم هذه الطريقة بعد أن نسخت ملف الـ DLL إلى الـ ROOT و عند تنفيذ الداله التي ترجع اسم المستخدم تظهر رسالة PL/SQL INTERNAL ERROR و لا أدري ما هو السبب فأرجو المساعدة ولك الف شكر و جزالك الله ألف خير

  • بعد 4 سنة...
بتاريخ:

هذا فورم ............... ارجو الدعاء

بتاريخ:

لايوجد الفورم

  • بعد 4 سنة...
بتاريخ:

جزاك الله خير

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

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

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

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

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

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.