كيف يمكنني تمرير البيانات المهيكلة إلى (F) CGI من خلال Apache؟

StackOverflow https://stackoverflow.com/questions/424175

  •  05-07-2019
  •  | 
  •  

سؤال

لدينا وحدة Apache في مكانها للمصادقة. إذا كان المستخدم قادرًا على المصادقة ، REMOTE_USER يتم تعيين متغير البيئة على اسم المستخدم الخاص بهم ، حيث يكون متاحًا لأي CGI الذي يمكنهم الوصول إليه.

أرغب في إضافة ميزة/وحدة حتى نتمكن من الحصول على معلومات إضافية حول المستخدم من مصدر بيانات LDAP وإتاحتها لتطبيقات CGI و FCGI.

بما أنني أعلم أنه يمكننا وضع المعلومات في البيئة ، هل من المناسب تخزين بنية بيانات أكثر تعقيدًا (مثل JSON) في متغير البيئة؟ هذا يبدو عاقلًا بالنسبة لي. هل هناك طريقة افضل لفعله؟

إذا كانت تعتمد على اللغة ، فأنا مهتم أكثر ببيرل ، ولكن سيكون من الأفضل أن أتمكن من إتاحة هذه البيانات لأي نوع من تطبيق CGI أو FCGI. نحن نستخدم Apache 2.2 على Rhel 5.0 (مع تمكين Selinux).

هل كانت مفيدة؟

المحلول

إذا كنت بحاجة إلى العمل مع CGI ، فيبدو أن متغيرات البيئة هي الخيار الوحيد (مع Mod_perl ، يمكنك الوصول إلى هياكل البيانات الداخلية لـ Apache).

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

إذا كان لديك بالفعل بيانات جلسة مستمرة من جانب الخادم (ملف جلسة أو دليل أو شريحة ذاكرة مشتركة) ، فقد ترغب في وضعها هناك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top