में प्राधिकरण नोड मैं जानता हूँ कि मैं web.configअधिकृत विशेषता बनाम web.config
<authentication mode="Windows"></authentication> <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" /> <authorization> <allow roles="MyDomain\MyGroup" /> <deny users="*" /> <deny users="?" /> </authorization>
में प्राधिकरण टैग का उपयोग कर या एक साथ नियंत्रक आधार वर्ग सजाने एक ASP.NET MVC 3 आवेदन के लिए उपयोग को प्रतिबंधित कर सकते विकल्प और बराबर दृष्टिकोण वे हैं: [अधिकृत()] विशेषता (या यहां तक कि एक कस्टम के साथ अधिकृत विशेषता)
[AdminOnly]
public class BaseController : Controller{}
सवाल है? क्या मुझे हमेशा दूसरे के बजाय एक दृष्टिकोण का उपयोग करना चाहिए? मुझे कौन से तत्वों को ध्यान में रखना चाहिए?
उचित। कृपया, मुझे बेहतर समझने दो: अगर मैं टैग का उपयोग नहीं कर रहा हूं, (यानी, पूरे एप्लिकेशन तक पहुंच प्रतिबंधित करना) क्यों और कैसे web.config में प्रमाणीकरण को परिभाषित करना सुरक्षा छेद हो सकता है? –
@ एरियलडो मार्टिनी, स्थान टैग में आप पथ निर्दिष्ट करते हैं: उदाहरण के लिए आप '/ admin' तक पहुंच प्रतिबंधित कर सकते हैं। लेकिन एमवीसी में आपके पास मार्ग हैं। उन मार्गों को Global.asax में परिभाषित किया गया है। वे नियंत्रकों और कार्यों को प्रतिबिंबित करते हैं। तो यह आपके नियंत्रक और क्रियाएं हैं जिन्हें सुरक्षित किया जाना चाहिए, कुछ गैर-आभासी वर्चुअल पथ नहीं। –
हाँ, स्पष्ट। क्या होगा यदि मैं ** ** किसी भी स्थान टैग का उपयोग नहीं करूंगा और मैं सिर्फ ** पूरे ** आवेदन के लिए प्राधिकरण सेट करता हूं? मेरा मतलब है, अगर मैं सवाल में रिपोर्ट की गई वेब.कॉन्फिग का उपयोग करता हूं, जो किसी भी यूआरएल और न ही किसी रूट की रिपोर्ट नहीं करता है? क्या यह एक सुरक्षा छेद का प्रतिनिधित्व कर सकता है, वैसे भी? –