سؤال

أريد أن أعرف ما إذا كان هذا ممكنًا بطبيعته:

فكر في سيناريو السحابة. أسمح للمستخدمين بتحميل رمز .NET الخاص بهم على الخادم الخاص بي. ومع ذلك ، لإدارة الأشياء على الخادم الخاص بي ، لا يمكنني السماح للمستخدمين بكتابة التعليمات البرمجية التي تقوم بإجراء مكالمات مباشرة على أساليب مثل httpwebrequest.create ().

إذا كان المستخدم قد كتب مثل هذا الرمز ، فسيعني أنه يحاول الاتصال بخدمة ويب أخرى (على سبيل المثال). هدفي هو تقديم هذه الخدمات عبر خادم آخر ، ولكن لا يزال لديك عمل الخادم الرئيسي على الطلبات الواردة الأخرى.

أريد منع المكالمات إلى httpwebrequest.create (). بدلاً من ذلك ، سأقدم بعض الواجهة للمستخدم لإجراء مثل هذه المكالمات. ما نوع الحل الذي يمكنني التفكير فيه في هذه المشكلة؟

ملاحظة: أنا أكثر من .NET 2.0 الموجهة. يرجى أن تكون محددًا إذا أجبت على الصفقات مع نسخة أعلى

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

المحلول

إلقاء نظرة على أمان الوصول إلى الكود (http://msdn.microsoft.com/en-us/library/930b76w0(vs.71).aspx أو http://www.codeproject.com/kb/security/ub_cas_net.aspx)

يمكنك إنشاء AppDomain مقيد جديد حيث يتم تنفيذ رمز عملائك.

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

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