C# - .NET 4.0 - هذا التجميع لا يسمح للمتصلين الموثوق بهم جزئيًا
-
27-09-2019 - |
سؤال
عند التشغيل من مشاركة الشبكة ، يلقي طلبي الاستثناء التالي:
هذا التجميع لا يسمح للمتصلين الموثوق بهم جزئيا.
يشير طلبي إلى ملفين DLL:
- bitfactory.logging.dll
- FileHelpers.dll
لست متأكدًا من أي واحد يعاني من مشاكل.
AllowPartiallyTrustedCallersAttribute
: اقرأ عليه ، لكن ليس لدي مصدر لأي من ملفات DLL ، لذلك لا أستطيع إضافة السمة إلى ملفات DLL هذه.CASPOL.EXE
: أضيفت مشاركة شبكتي باستخدام بعض الاختلافات ، مثلcaspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet
لا شيء يبدو أنه يؤثر.
لقد استخدمت Caspol Hack من قبل ، مع .NET 3.5 ، ومع ذلك ، يبدو أنه لا يعمل مع .NET 4.0 الآن. هل يمكن لأي شخص أن يتفوق على كيفية تجاوز شيك "المتصل الموثوق جزئيًا"؟
شكرًا.
المحلول
.NET 4.0 لديه غيرت القواعد الافتراضية لسياسة الأمن. ستحتاج إلى إنشاء أو تعديل App.config
ملف لهذا التطبيق.
أمان الوصول إلى التعليمات البرمجية (كما تم تكوينه بواسطة CASPOL
) يتم تجاهله الآن افتراضيًا في .NET 4.0. إذا كنت ترغب في تمكينه ، فيجب عليك إضافة ما يلي إلى app.config
ملف:
<configuration>
<runtime>
<!-- enables legacy CAS policy for this process -->
<NetFx40_LegacySecurityPolicy enabled="true" />
</runtime>
</configuration>
يمكنك تكوين .NET 4.0 لعلاج التعليمات البرمجية من الشبكة باستخدام LoadFrom
كما هو موثوق بالكامل مع عنصر التكوين التالي:
<configuration>
<runtime>
<!-- Treat assemblies from network locations as fully trusted. -->
<!-- Caution: Do not point this loaded gun at your foot. -->
<loadFromRemoteSources enabled="true" />
</runtime>
</configuration>