.net 4.0 - मैं अपने MEF एक्सटेंशन को लॉक करने के लिए.NET 4 में सीएएस का उपयोग कैसे कर सकता हूं?



.net-4.0 code-access-security (1)

मेरे पास .NET 4 में एक आवेदन है जो कि एमएफ़ के लिए एक्सेंसिबिलिटी का उपयोग करता है। मेरे मुख्य अनुप्रयोग में तीन विधानसभाएं हैं: Host , Application और Contracts

Host "बूट-स्टैपिंग" निष्पादन योग्य है जो कंटेनर बनाता है और संरचना करता है

Application में मेरे आवेदन का तर्क है, और 3 पार्टियों के लिए अधिक विस्तार बिंदु हैं।

Contracts में इंटरफेस (और कुछ सहायक वर्ग) शामिल हैं जो विस्तार अंक में उपयोग किए जाते हैं।

इसलिए, तीसरे पक्ष के आवेदन को विकसित करने वाले किसी व्यक्ति को Contracts संदर्भ को शामिल करना है, लेकिन Application नहीं करना चाहिए।

मुझे लगता है कि मेरा सुरक्षा मॉडल इस तरह दिखना चाहिए:

  1. Host और Application Host होना चाहिए
  2. Contracts सुरक्षा Contracts होना चाहिए
  3. सभी तृतीय पक्ष एक्सटेंशन सुरक्षाप्रतिनिधी होना चाहिए

मुझे लगता है कि 1. डिफ़ॉल्ट रूप से संतुष्ट हो जाएगा मुझे पता है कि मैं 2 को लागू कर सकता हूँ। एक विधानसभा विशेषता के साथ। सवाल यह है, मैं नियम 3 कैसे लागू करूं? क्या असुरक्षित रूप से सभी डाउनलोड किए गए एक्सटेंशन को फ्लैग करने से ऑपरेटिंग सिस्टम स्वचालित रूप से करता है? क्या यह एक डाउनलोड की गई विस्तार विधानसभा के लिए पूरी तरह विश्वसनीय हो सकता है?


यदि आपका आवेदन पूर्ण विश्वास में चल रहा है, तो डिफ़ॉल्ट रूप से आपके एक्सटेंशन पूर्ण विश्वास में चल रहे होंगे और वे जो भी चाहते हैं, उन्हें करने में सक्षम होंगे। इससे कोई फर्क नहीं पड़ेगा कि उनके पर सुरक्षा के गुण क्या हैं। एक्सटेंशन को सीमित करने के लिए, आपको एक सैंडबॉक्स ऐपडोमेन बनाना होगा। आप अपने Host और Application को उस ऐप डॉक्स में पूरी तरह से भरोसेमंद रूप में सेट करेंगे और अन्य सभी कोड में केवल आपके द्वारा अनुमति देने के लिए अनुमति होगी।

इस विषय पर एक एमएसडीएन लेख यहां है: कैसे करें: सैंडबॉक्स में आंशिक रूप से विश्वसनीय कोड चलाएं





code-access-security