C# - .NET 4.0 - هذا التجميع لا يسمح للمتصلين الموثوق بهم جزئيًا

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

سؤال

عند التشغيل من مشاركة الشبكة ، يلقي طلبي الاستثناء التالي:

هذا التجميع لا يسمح للمتصلين الموثوق بهم جزئيا.

يشير طلبي إلى ملفين 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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top