كيف يمكنك فرض الترخيص على مكتبة التحكم القابلة لإعادة التوزيع؟
-
08-07-2019 - |
سؤال
إذا كان لديك مكتبة التحكم في WPF كنت ترغب في ترخيصها للمطورين ، فكيف تقوم بتنفيذ قيود الترخيص بحيث يمكن استخدام المكتبة وتوزيعها في تطبيقاتهم الخاصة ، ومع ذلك تمنع المستخدمين النهائيين من إعادة استخدام ذلك .DLL؟
أنا أقترب من هذا من منظور عمل صارم ، لذلك أحاول العثور على حل لا يسمح للمستخدمين العشوائيين بالقيام بشيء بسيط مثل تمرير.
أي أفكار حول هذا الترحيب تمامًا ولا تتردد في شمع الفلسفية.
المحلول
بالمعنى الدقيق للكلمة ، يصعب حل هذا النوع من المشكلات تمامًا ، وأيًا كان ذلك ، سيكون من الممكن (على الرغم من أنه قد يكون من الصعب بما فيه الكفاية) تغيير رمز IL الذي يتحقق من صحة الترخيص وتجاوز الشيك تمامًا. ومع ذلك ، إذا كنت مرتاحًا حقًا ، فيمكنك إجبار عملائك على إرسال النسخة المترجمة من تطبيقهم لك لتطبيق اسم قوي (باستخدام المفتاح الخاص). وبهذه الطريقة ، يمكنك التحقق من رمز المفتاح العام لمجموعة الاتصال مقابل مفتاح معين تملكه فقط. لا أقترح بأي حال من الأحوال طريقة للاستخدام العام ، ولكن إذا كان من الضروري حقًا القيام بذلك ، فقد ينجح ذلك. فقط ضع في اعتبارك أن الأمر قد يستغرق بضع ساعات للعثور على رمز فحص الترخيص في التجميع الخاص بك وإزالته تمامًا. هذا سيجعل أي قيود على الترخيص عديمة الفائدة!