بتاريخ: 14 مارس 200421 سنة comment_3273 أخواني اعضاء المنتدى المحترمين أتوجه بالشكر إليكم على هذا المنتدى الرائع الذي يعتبر احد موارد العلم لكل من يرغب بالتعلم و خيرنا من علم العلم و علمه ...و أرجو قبول العذر مني لهذه المشاركة الأولى حيث أنني مجرد هاوي أرغب بتعلم كل ما يتعلق بالفورم ديفلوبر و أوراكل داتابيس و احب أن اشارك معكم بهذه المحاولة التي جربتها و لم استطع اكمالها لعلي أفيد غيري بها و استفيد من مشاركاتكم _________________________كما نعلم أن هناك عدة طرق للتعامل مع المستخدمين من خلال أوراكل منها - إنشاء المستخدمين مباشرة من خلال أوراكل باستخدام Create user و مشكلة هذه الطريقة ارتفاع سعر الترخيص. - إنشاء جدول ضمن قاعدة البيانات بالمستخدمين للنظام و من ثم التعامل معهم و صلاحياتهم بشكل برمجي , و يحوي الجدول على كافة بيانات المستخدمين بما فيها كلمة المرور الخاصة بالمستخدم. إلا أننا علمنا أن هناك طرق للأطلاع على كلمات المرور هذه و اختراقهاومن خلال التجارب حاولت أن استدعي مستخدمي الويندوز ضمن ال Active Directory في جدول خاص تم إنشائه في الداتا بيس حيث تسجل اسمائهم في هذا الجدول ,ومن ثم عند تشغيل تطبيق الديفلوبر فورم يفحص النظام اسم مستخدم الويندوز الحالي هل هو مسجل ضمن قاعدة البيانات أم لا كما ينظر إلى صلاحياتة ضمن جدول الصلاحيات و بهذه الطريقة يمكن أن نتجاوز عملية تخزين كلمات السر ضمن قاعدة البيانات بل التعامل مع مستخدمي ويندوز مباشرة غير أنني لم أنجح في ذلك لما يلي :- 1- لم استطع أن أجد أو سي أكس يستطيع أن يمرر مستخدم ويندوز إلى قاعدة البيانات من خلال الفورم, أي إضافة مستخدم مباشرة من خلال الفورم.2- لم استطع الحصول على اسم المستخدم رغم أنني استخدمت الدوال المتاحة من قبل الديفلوبر للحصول على اسم المستخدم و هي المتوفرة في المكتبة d2kwutil.pllو في d2kwutil.dll ليتم تسجيلها في الويندوز و الأستفادة من خدمات مكتبة pl/sql . تقديم بلاغ
بتاريخ: 14 مارس 200421 سنة comment_3277 هلا اخي moneernetبالنسبه لليوزر سهل جدا انك تعرفه عن طريق الفنكشن userenv لو راجعتها هتلاقي فيها اسم اليوزر و السشن و اسم الجهاز علي الشبكه و كل الي انت محتاجه ناقصك بس ازاي يعمل استيراد للاسماء من الاكتف ديركتوري بس اعتقد الطريقة دي رغم انها مبتكره لا توفي باحتياجات انظمة الامنلانك تحتاج تحديد لصلاحية كل مستخدم علي كل شاشة مثلا الحل في راي لهذه المشكله هي تشفير الداتا عن طريق دوال تشفير عالميه اي الذي اعلمه ان هناك طرق للتشفير منتشره و تستطيع التعامل بها في لغات اخري و هي عبارة عن انكربشن الجوريثم اذا استطعنا انشاء مثل هذه الداله ستكون المشكله قد حلتشكرا لك مع تمنياتي بالتوفيق تقديم بلاغ
بتاريخ: 16 مارس 200421 سنة comment_3417 السلام عليكم رد على السؤالفي الملف المرفق computer_name.txt تم تعديل 16 مارس 200421 سنة بواسطة المتابع تقديم بلاغ
بتاريخ: 16 مارس 200421 سنة comment_3432 أخى المتابعشكرا جزيلا على كلامك القليل والمفيد جدا ... جزاك الله كل خير وجعله فى ميزان حسناتكأخوك فى الله خالد طلعت تقديم بلاغ
بتاريخ: 16 مارس 200421 سنة comment_3436 بسم الله الرحمن الرحيمالسلام عليكم ورحمة الله وبركاتهوالحمد لله رب العالمين والصلاة والسلام على الحبيب المصطفى الاخ المتابع والاخ John لكم جزيل الشكر والى الامام دوماوبارك الله فيك ولك وعليك وجعله فى ميزان حسناتكطارق مرشدى--------------------------------------------------------------------------------------------------------سبحان الله العظيم - سبحان الله وبحمده عدد خلقه ورضاء نفسه وزنة عرشه ومداد كلماته ولا حول ولا قوة الابالله تقديم بلاغ
بتاريخ: 17 مارس 200421 سنة كاتب الموضوع comment_3480 ألاخوه الكرام شكراً لكم على هذا الأراء و الأقتراحات الجميلة جداً و جزاكم الله ألف خير إلا أنه :-بالنسبة لموضوع الصلاحيات على الشاشات ستم التعامل معها برمجياً بنفس الطريقة التي نتعامل بها عندما يتم إنشاء المستخدمين باستخدام طريقة الجداول و هي عمل جدول للصلاحيات يرتبط بكل مستخدم.و ألف ألف ألف شكر و جزاكم الله الف خير أخوكم Moneernet تقديم بلاغ
بتاريخ: 18 مارس 200421 سنة كاتب الموضوع comment_3538 يا شباب لو سمحتم قمت بتمرير البارميتر Terminal للداله Userenv فحصلت على نتيجة اسم الجهازغير أنني عندما قمت بتمرير البراميتر OS_user ظهرت لي رسالة Invaild parameter أرجو منكم المساعدة علماً بأنني أعمل على بيئة Windows 2000 Server و لكم جزيل الشكر أخوكم تقديم بلاغ
بتاريخ: 18 مارس 200421 سنة comment_3541 شرح الداله 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 اي اعتقد انها لن تتعامل مستخدم الويندوز مع تمنياتي بالتوفيق تقديم بلاغ
بتاريخ: 18 مارس 200421 سنة كاتب الموضوع comment_3544 أخي 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 ترجع هذه الدالة اسم مستخدم الويندوز شكراً تقديم بلاغ
بتاريخ: 18 مارس 200421 سنة comment_3545 الحل من ميتالينك 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 تقديم بلاغ
بتاريخ: 22 مارس 200421 سنة كاتب الموضوع comment_3816 الأخ Black and White متأسف على ثقالة الدم هذه و لكن جربت استخدم هذه الطريقة بعد أن نسخت ملف الـ DLL إلى الـ ROOT و عند تنفيذ الداله التي ترجع اسم المستخدم تظهر رسالة PL/SQL INTERNAL ERROR و لا أدري ما هو السبب فأرجو المساعدة ولك الف شكر و جزالك الله ألف خير تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.