بناء كود برمجي للربط بين Active Directory و دوال برمجية بلغة PHP

تقييم المشروع

الاحترافية بالتعامل
التواصل والمتابعة
جودة العمل المسلّم
الخبرة بمجال المشروع
التسليم فى الموعد
التعامل معه مرّة أخرى
Abdulrahman A.
  • صاحب المشروع
الأخ مصطفى من المستقلين الذين ترتاح في التعامل معهم
متعاون ومرن للغاية ، وهدوء رائع لا مثيل له في إنجاز العمل المطلوب
لن أتردد في التعامل معه مستقبلاً
فيما لو هناك مشروع في نفس المجال

وصف المشروع

مرحبا ،،

.

.

# المطلوب

- إنشاء مكتبة برمجية مبسطة تقوم بالاتصال بالدليل النشط Active Directory في Windows Server

- تقوم المكتبة بتنفيذ العديد من الدوال الوظيفية Functions يتم استدعائها حسب الغرض منها

.

.

# متطلبات المستقل

- يجب أن يكون المستقل قادر على البرمجة والتطوير بلغة PHP

- يجب أن يكون المستقل ملم بكل ما يتعلق بـ "الدليل النشط" Active Directory في أنظمة Windows Server

- يجب أن يكون المستقل على دراية مبسطة بكيفية التعامل مع أنظمة خوادم Windows Server

- يجب أن يكون المستقل قادر على قراءة وتعلم المكتبة البرمجية adLDAP المستخدمة في المشروع

.

.

# المواصفات الفنية

- يتم الاستعانة بالمكتبة البرمجية adLDAP فقط لتنفيذ متطلبات المشروع

- لا يمكن قبول أي ملفات مشفرة أو غير قابلة للقراءة والاستخدام

- يجب أن تعمل المكتبة على آخر تحديث لبيئة تطوير PHP

- يجب أن تكون المكتبة البرمجية مكتوبة في ملف php واحد فقط باسم ad.php

- لا يمنع أن يتم تضمين ملفات أخرى لها علاقة بالمكتبة adLDAP داخل الملف ad.php

- توثيق الكود الداخلي وفق أصول التوثيق الفني لكل جزأية ولكل دالة وظيفية

- يلتزم المستقل بعدم المضي قدماً في تنفيذ المشروع قبل استشارة صاحب المشروع وأخذ موافقته حفظاً لجهد المستقل

.

.

# معلومات الإعداد Configuration

- تكون هناك جزأية في أعلى صفحة ad.php يتم من خلالها تعديل الإعدادات والمعلومات العامة

- يتم من خلالها تعديل معلومات الاتصال بالخادم و AD

- يتم من خلالها تعديل أية خيارات تخص معلومات الاتصال مثل SSL/TSL أو ما شابه

- يتم من خلالها تعديل بيانات الاتصال بقاعدة البيانات المحلية MySQL

.

.

# الدوال البرمجية المطلوب تطويرها (الوظائف الفنية Function)

(1) المصادقة على صحة بيانات الدخول :

- تعمل هذه الدالة على تمرير (2) معاملات هي :

- - - (1 - 1) اسم المستخدم

- - - (1 - 2) كلمة المرور

- تقوم الدالة بإرسال المعاملات وفحص المصادقة مع AD للتحقق من صحتها

- القيمة العائدة هي إما تكون TRUE أو FALSE

- لا تعمل الدالة إذا كانت قيمة أحد المعاملات فارغة

.

+

.

(2) تغيير كلمة مرور حساب في AD

- تعمل هذه الدالة على تمرير (x) معاملات حسب السياسة المعتمدة لدى AD

- ربما يتم إرسال (اسم المستخدم ، كلمة المرور الجديدة) وربما (اسم المستخدم ، كلمة المرور الحالية ، كلمة المرور الجديدة)

- تقوم الدالة بطلب تغيير كلمة المرور للحساب المرسل في AD

- القيمة العائدة هي إما تكون TRUE أو FALSE

- لا تعمل الدالة إذا كانت قيمة أحد المعاملات فارغة

.

+

.

(3) مزامنة قائمة جميع المستخدمين في AD مع قاعدة البيانات المحلية

- يتم مزامنة قائمة المستخدمين في AD مع قاعدة البيانات المحلية في MySQL

- من الطبيعي أنه قد يوجد هناك مستخدمين في AD وغير موجودين في قاعدة بيانات النظام المحلية MYSQL

- تعمل الدالة على فحص ومزامنة أي مستخدمين غير موجودين في قاعدة البيانات المحلية MySQL

- القيمة العائدة هي عبارة عن مصفوفة Array . سواء كانت فارغة أو تحتوي على عناصر بأسماء المستخدمين الجدد

- في حال وجود مستخدمين جدد في AD وغير موجودين في قاعدة البيانات المحلية MySQL يتم إنشاء المصفوفة Array وضخ قائمة المستخدمين الجدد فيها

- عندما تكون القيمة العائدة عبارة عن مصفوفة Array فارغة ، فهذا يعني بأن AD متزامن تماماً مع قاعدة البيانات MySQL

- عندما تكون القيمة العائدة عبارة عن مصفوفة Array غير فارغة ، فهذا يعني بأن المصفوفة تحتوي على أسماء المستخدمين الجدد غير الموجودين في قاعدة البيانات المحلية MySQL

- الهدف من القيمة العائدة ، هو تمريرها إلى دالة أخرى (تم تصميمها سابقاً) تقوم بإنشاء سجلات في جدول المستخدمين لتحقيق التزامن مع AD

.

.

# قواعد البيانات المحلية MySQL

- قاعدة بيانات خاصة بنا ، تحتوي على عدة جداول منها ، جدول user المرتبط بهذا المشروع

- عند الحاجة للاتصال بهذه القاعدة ، يتم الاتصال من خلال دالة مصممة مسبقاً سيتم تسليمها للمستقل

- عند تنفيذ الدالة (3) ، يتم الاتصال والمزامنة والمقارنة مع جدول user ، حقل : UserName

- في حال كان user.UserName مطابق وموجود في AD ، فهذا يعني بأن اسم المستخدم متزامن

- في حال لم يكن user.UserName موجوداً في AD ، فهنا تتم عملية إضافته في قاعدة البيانات المحلية MySQL

- سيتم تزويد المستقل بكود SQL الذي يتم من خلاله إضافة سجل جديد في جدول user مطابق لـ UserName

.

.

# التجربة والاختبار

- سيتم إعطاء المستقل بيانات TeamViewer على الخادم الحقيقي لتجربة الكود بشكل فعلي

- يجب أن تنجح كافة الاختبارات والتجارب على هذا الخادم

- في حال لم تنجح الاختبارات في الاتصال بـ AD وتنفيذ كامل المتطلبات فهذا يعني عدم إنجاز المشروع

- سيكون المستقل على تواصل مباشر مع صاحب المشروع أثناء تنفيذ الاختبارات والتجارب (إذا دعت الحاجة)

.

.

# النواتج

- ملف برمجي PHP باسم ad.php يحتوي على كامل الوظائف الفنية المطلوبة Functions

- المكتبة البرمجية المستخدمة adLDAP ، بحيث يتم تضمينها داخل ملف ad.php

.

.

# التعديلات

يحق لصاحب المشروع إبداء آرائه وتعديلاته كيفما يتطلب الأمر

ويلتزم المستقل بتنفيذ التعديلات أو الإضافات حتى تمام إنجاز العمل

.

.

.

.

.

العروض المقدمة

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

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

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

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

  • راجع صفحة حساب المستقل الذي اخترته واطّلع على أعماله السابقة
  • إن كانت هناك تفاصيل غير مذكورة في المشروع، فتواصل مع المستقل وأخبره بها أولًا
  • بإمكانك أن تتواصل مع المستقل وتسأله عن أية أمور تحتاجها
  • احرص دائمًا على إبقاء التواصل مع المستقل داخل الموقع قدر الإمكان وذلك لضمان حقوقك
  • لا تتردد من التواصل معنا ان احتجت لأي مساعدة، نحن نحب مساعدتك!

المستقل غير متاح لاستلام مشاريع، يمكنك ارسال تنبيه له لقبول العرض وإعادة المحاولة بعد بضعة ساعات، أو اختيار عرضاً من مستقل آخر.