2012-03-26 17 views
7

का उपयोग कर एमवीसी में प्रमाणीकरण बंद करें। मेरे पास एक एमवीसी साइट है, जो [अधिकृत] विशेषताओं का उपयोग करके सुरक्षित है, लेकिन एक उत्पादन वेबसाइट पर कोई समस्या है जो एकल सर्वर या विभिन्न सर्वरों पर साइटों पर एकल साइन ऑन का उपयोग करती है। मैं कारण के रूप में प्रमाणीकरण पर शासन करना चाहता हूं; क्या web.config के माध्यम से अस्थायी रूप से प्रमाणीकरण को बंद करने का कोई तरीका है ताकि सभी या कुछ नियंत्रक क्रियाएं जिनमें प्राधिकृत विशेषता हो, लॉग इन किए बिना पहुंचा जा सके?वेब.कॉन्फिग

संपादित करें:

मैं जोड़ने की कोशिश की है web.config के लिए निम्न:

<authentication mode="None" /> 

लेकिन यह सब कार्रवाई अधिकृत साथ सजाया रिक्त पृष्ठ रेंडर करने की विशेषता का कारण बनता है। अधिकृत बिना क्रिया हालांकि

+0

मुझे यह पसंद है। मैंने अभी खोजा है: asp.net प्रमाणीकरण कोई खाली पृष्ठ नहीं है, और यह प्रश्न मिला। मेरी समस्या यह थी कि मैंने प्राधिकरण को किसी के लिए सेट नहीं किया था, लेकिन मेरे नियंत्रकों में से एक में गलती से अधिकृत बयान था। आपका सवाल मेरा जवाब था। धन्यवाद! – TTT

+0

और यही कारण है कि मुझे स्टैक ओवरफ़्लो पसंद है :) खुशी हुई यह मदद मिली - जब मैंने इसे पहली बार मारा तो यह निश्चित रूप से मेरे सिर को खरोंच कर रहा था। – mutex

उत्तर

8

काम करना जारी वहाँ एक रास्ता अस्थायी रूप से web.config के माध्यम से प्रमाणीकरण बंद करने के लिए तो सभी या कुछ नियंत्रक क्रिया है अधिकृत गुण है कि प्रवेश किए बिना पहुँचा जा सकता है है?

नहीं, डिफ़ॉल्ट ढांचे के साथ यह संभव नहीं है। मुझे यकीन है कि एमवीसी स्रोत कोड में AuthorizeAttribute जांचने और देखने के लिए प्रयास करेगा कि उपयोगकर्ता लॉग इन है या नहीं। प्रमाणीकृत उपयोगकर्ता के बिना, पहुंच अस्वीकार कर दी जाएगी।

6

अनधिकृत उपयोगकर्ताओं द्वारा नियंत्रक में विशिष्ट कार्रवाइयों का उपयोग करने के लिए [AllowAnonymous] का उपयोग करें।

<authentication mode="Windows" /> 
<authorization> 
    <!--<deny users="?" />--> 
</authorization> 
0
बच्चे बाहर अपने Web.config टिप्पणी में

। जब नियंत्रक प्रमाणीकरण की जांच करता है तो उपयोगकर्ता सत्यापित किया जाएगा क्योंकि आप सभी उपयोगकर्ताओं को किसी भी विंडोज प्रमाणीकरण के साथ सिस्टम तक पहुंचने दे रहे हैं।

<authentication mode="Windows" /> 
    <authorization> 
     <allow users="*"/> 
    <!--<deny users="?" />--> 
    </authorization> 
0

आप सभी उपयोगकर्ताओं web.config में निम्न को जोड़कर प्रणाली तक पहुंच देने कर सकते हैं:

संबंधित मुद्दे