एएसपीनेट में मध्यम ट्रस्ट क्या है? हम Asp.net में मध्यम ट्रस्ट का उपयोग कब करना चाहिए?एएसपीनेट में मध्यम ट्रस्ट क्या है?
उत्तर
The most concise description I've seen is here:
- पूर्ण विश्वास - अपने कोड कुछ भी है कि यह कर सकते हैं चल खाते कर सकते हैं।
- हाई ट्रस्ट - उपरोक्त जैसा ही आपके कोड को छोड़कर अप्रबंधित कोड में कॉल नहीं कर सकता है। यानी Win32 एपीआई, COM इंटरऑप।
- मध्यम ट्रस्ट - उपरोक्त के जैसा ही आपके कोड को छोड़कर फ़ाइल सिस्टम का कोई भी हिस्सा अपनी एप्लिकेशन निर्देशिका को छोड़कर नहीं देख सकता है।
- कम विश्वास - आपके कोड को छोड़कर उपर्युक्त जैसा ही कोई भी प्रक्रिया प्रक्रिया नहीं कर सकता है। यानी डेटाबेस, नेटवर्क इत्यादि को कॉल करें
- न्यूनतम ट्रस्ट - कोड किसी भी चीज़ से प्रतिबंधित है लेकिन सबसे अधिक परीक्षण प्रक्रिया (एल्गोरिदम की गणना)।
उन बड़ा मतभेद हैं, आप के साथ-साथ नाबालिग विवरण में रुचि रखते थे? ट्रस्ट स्तर समग्र रूप से संदर्भित करता है कि कोड को क्या करने की अनुमति है।
पर यह लिंक कैसे करें: ASP.NET 2.0 आलेख में मध्यम ट्रस्ट का उपयोग करें @MSDN उपयोगी साबित होना चाहिए।
मध्यम ट्रस्ट अभी भी एक दूसरे से और साझा सर्वर संसाधनों से अनुप्रयोगों को अलग करने के लिए एक बाध्य वातावरण प्रदान करता है। मध्यम ट्रस्ट अनुप्रयोगों में कोई रजिस्ट्री एक्सेस नहीं है, कोई ईवेंट लॉग एक्सेस नहीं है, और प्रतिबिंब का उपयोग करने की कोई क्षमता नहीं है। वेब एक्सेस उस नेटवर्क पते तक सीमित है जिसे आप "ट्रस्ट" तत्व में परिभाषित करते हैं, और फ़ाइल सिस्टम एक्सेस एप्लिकेशन की वर्चुअल निर्देशिका तक ही सीमित है। ध्यान रखें कि आप अपने वेब.कॉन्फिग को यह घोषणा करके संपादित नहीं कर सकते कि आपका एप्लिकेशन माध्यम ट्रस्ट का उपयोग करता है, अगर आपके एप्लिकेशन को उपर्युक्त सूची में कुछ करने के लिए कोड किया गया है, तो यह अभी भी एक त्रुटि अपवाद फेंक देगा।
बेवकूफ सवाल: मुझे एक वेब ऐप के डेवलपर के रूप में, ट्रस्ट स्तर को पूर्ण ट्रस्ट के अलावा किसी अन्य चीज़ पर क्यों सेट करना चाहिए? मैं कल्पना कर सकता हूं कि यह ट्रस्ट स्तर को प्रतिबंधित करने के लिए एक वेब होस्टिंग कंपनी के हित में है। एक उदाहरण के रूप में: होस्टिंग कंपनी ने ट्रस्ट स्तर को मध्यम में सेट किया है (मशीन कॉन्फ़िगरेशन फ़ाइल में?)। क्या होगा यदि मैं इस होस्टिंग कंपनी पर अब एक वेब ऐप इंस्टॉल करना चाहता हूं जिसे मैंने पूर्ण ट्रस्ट (मेरे web.config में) के साथ विकसित किया है? क्या मैं ऐप बिल्कुल शुरू कर सकता हूं या केवल "वर्जित" तरीकों को अपवाद फेंक सकता हूं? – Slauma
@ स्लुमा - 1) यदि आप अपने लक्षित माहौल के लिए विकसित होते हैं, तो यदि आप एक पोर्टल बना रहे थे, तो लोग अपने सर्वर पर तैनात होंगे, तो आप शायद मध्यम ट्रस्ट को लक्षित करना चाहते हैं, जैसे डॉटनेटनेट कुछ दिमाग में आता है। 2) होस्टिंग कंपनी ट्रस्ट स्तर के साथ जीतती है, आप उनकी सेटिंग्स को ओवरराइड नहीं कर सकते (मान लीजिए कि उन्होंने इसे सही तरीके से किया है)। 3) * शायद *, यदि आपके पास ऐप स्टार्टअप में कोड है जिसके लिए आप जिस ट्रस्ट स्तर पर चल रहे हैं, उससे ऊपर की आवश्यकता है, तो यह शुरू हो जाएगा ... अगर यह कोड बाद में चलता है, तो यह उड़ाएगा कुछ ऐसा करने की कोशिश कर रहा है जो इसे निष्पादित नहीं कर सकता है। –