.NET code access security नामक एक सुरक्षा मॉडल लागू करता है। अप्रबंधित कोड एप्लिकेशन शुरू करने वाले उपयोगकर्ता के विशेषाधिकारों और अधिकारों के साथ चलता है, भले ही कोड बुरा स्रोतों से उत्पन्न होता है।
प्रबंधित कोड को साक्ष्य प्रदान करने की आवश्यकता है; ऐसा करने के कई तरीके हैं (उदा। कोड एक निश्चित कुंजी के साथ हस्ताक्षरित है, कोड एक निश्चित यूआरएल से डाउनलोड किया गया था, डिस्क डिस्क पर एक निश्चित निर्देशिका में कोड रहता है)। उन सबूतों के आधार पर, असेंबली समूहों में डाल दी जाती है, जिसके लिए नीतियां लागू की जाती हैं। एक नीति कोड समूह को कुछ अनुमतियां दे सकती है, मुख्य रूप से सिस्टम संसाधनों तक पहुंचने के संबंध में (DNS लुकअप करने, नेटवर्क कनेक्शन खोलने, "पृथक भंडारण" तक पहुंचने, स्थानीय फ़ाइल सिस्टम (यह सब, या केवल चयनित निर्देशिकाओं) तक पहुंचने के लिए, एक्सेसिंग रजिस्ट्री, नेटवर्क शेयरों का उपयोग, आदि)। नियंत्रण कक्ष में एक उपकरण है जो आपको ऐसी नीतियों को परिभाषित करने की अनुमति देता है।
जब कोई असेंबली कुछ प्रतिबंधित ऑपरेशन करने की कोशिश करती है, तो विशेषाधिकार जांच की जाती है। अगर पहुंच दी जाती है, तो ऑपरेशन बढ़ता है। यदि चेक विफल रहता है, तो एक अपवाद फेंक दिया जाता है। चेक में आम तौर पर एक स्टैक ट्रैवर्सल शामिल होता है (यानी सभी कॉलर्स को उस ऑपरेशन के लिए भरोसा किया जाना चाहिए), लेकिन अपवाद हैं।
एक विशेष मामले के रूप में, कोई एक असेंबली को "पूर्ण ट्रस्ट" असाइन कर सकता है, सभी अनुमतियां प्रदान करता है। हालांकि मैंने पहले "आंशिक विश्वास" शब्द नहीं सुना है, मुझे लगता है कि यह उन असेंबली को संदर्भित करता है जिनके पास कुछ अधिकार हैं, लेकिन पूर्ण ट्रस्ट नहीं।
कृपया समझें कि यह सिर्फ एक सिंहावलोकन है - कोड पहुंच सुरक्षा के बारे में और भी कुछ कहा जाना है।
स्रोत
2008-12-17 21:28:44
ध्यान दें कि एक पूर्ण ट्रस्ट असेंबली अभी भी ओएस सुरक्षा द्वारा बाधित है। उदाहरण के लिए, यदि उपयोगकर्ता बॉब फ़ाइल वाई तक नहीं पहुंच सकता है, तो न तो बॉब के उपयोगकर्ता स्पेस में पूर्ण-ट्रस्ट असेंबली चल रही है। – RoadWarrior