Skip To Content

استخدام الوكيل

عند نشر تطبيق، قد تكون بحاجة إلى استخدام وكيل. يدعم Web AppBuilder استخدام الوكيل في الحالات التالية:

  • الوصول عبر موارد المجال
  • يتطلب أن يتعدى 2048 حرف
  • الوصول إلى الموارد المؤمّنة بالمصادقة المستندة إلى الرمز المميز
  • عمليات تسجيل دخول تطبيق OAuth 2.0
  • تمكين تسجيل الدخول
  • حدّ المعدل المُستند إلى المورد- والصفحة المرجعية-

افتراضيًا، يستخدم التطبيق الذي تم تنزيله الوكيل المتوفر من قبل Portal for ArcGIS. حدد الوكيل الخاص بك والقواعد عن طريق تعديل خاصية httpProxy في ملف تكوين التطبيق. تحتوي خاصية httpProxy على البيانات الجدولية التالية:

بيانالوصف

useProxy

منطقي. اختياري. الوضع الافتراضي: صواب. إذا كان خطأ، فلن تستخدم جميع الطلبات وكيل.

عنوان url

سلسلة. اختياري. عنوان URL لتحديد موقع الوكيل. إذا لم يُطابق الطلب أي قاعدة من قواعد الوكيل، لكنه يجب استخدام الوكيل، مثل عبر طلب مجال متقاطع، عندئذٍ سيتم استخدام هذا الوكيل.

alwaysUseProxy

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

قواعد

Object[]. اختياري. يعرف الوكيل لمجموعة من الموارد مع نفس بادئة عنوان URL. إذا كان عنوان URL للطلب يطابق إحدى القواعد، فإن الطلب يُوجَه من خلال الوكيل. تحتوي جميع القواعد على خاصيتين:

  • urlPrefix-string- بادئة عنوان URL للموارد التي يجب الوصول إليها من خلال الوكيل المحدد.
  • proxyUrl-string- عنوان URL للوكيل.

تنبيه:

عندما يكون useProxy خطًا، ويكون الطلب أكبر من 2048 حرفًا، يتم إرسال طلب POST بدلاً من GET. وأيضًا، إذا كانت الخدمة تدعم CORS، يمكن أن إرسال طلب POST مباشرةً إلى الخدمة بنجاح. وإلا، سيفشل طلب POST. عندما يكون useProxy صحيح، ويتم إرسال طلب POST، وإذا كانت الخدمة لا تدعم CORS، يتم إرسال طلب POST بواسطة الوكيل تلقائيًا.

ما يلي يوضح كيفية عمل الوكيل مع ما يتعلق بالبيانات الجدولية المذكورة أعلاه:

  • يفحص التطبيق useProxy.
    • إذا كان خطأ، فلا تستخدم جميع الطلبات وكيل.
    • إذا كان صحيحًا، يفحص التطبيق rules.
      • إذا كان الطلب يُطابق قواعد الوكيل، يستخدم التطبيق proxyUrl الذي تم تعيينه في القواعد.
      • إذا لم يطابق الطلب أي قاعدة من قواعد الوكيل، لكنه يجب استخدام وكيل مثل عبر طلب مجال، عندئذٍ يستخدم التطبيق وكيل url المُسند.
      • إذا لم يُطابق الطلب قواعد الوكيل ولا يتطلب وكيل، يفحص التطبيق alwaysUseProxy بشكل أكبر.
        • إذا كان خطأ، لا يمضي الطلب من خلال وكيل url المُسند.
        • إذا كان صحيحًا، يمضي الطلب من خلال وكيل url المُسند.
رسم تخطيطي للوكيل

مثال:

"httpProxy": {
		"useProxy": true,
		"url": "http://gallery.chn.esri.com/arcgis/sharing/proxy",
		"alwaysUseProxy": false,
		"rules": [{
			"urlPrefix": "http://route.arcgis.com/",
			"proxyUrl": "resource-proxy-1.0/DotNet/proxy.ashx"
		}]
	}

بالإضافة إلى ذلك، توفر Esri ثلاثة وكيل، كل وكيل يستهدف نظام أساسي محدد لجانب الخادم: ASP.NET وJava/JSP وPHP. قم بتنزيل ونشر الوكيل المناسب للنظام الأساسي من GitHub. راجع أيضًا مثالي استخدام الوكيل وإعداد وكيل بـ Web AppBuilder من منشور المدونة.