2012-02-09 14 views
6

में कस्टम प्रमाणीकरण मैं एएसपी.नेट वेब फॉर्म से एएसपी.नेट एमवीसी 3 में एक एप्लिकेशन माइग्रेट कर रहा हूं 3. केंद्रीय और महत्वपूर्ण टुकड़ों में से एक वर्तमान में अपनी निर्देशिका में बंद कर दिया गया है।एएसपी.नेट एमवीसी 3

<location path="home" allowOverride="false"> 
    <system.web> 
    <authorization> 
     <deny users="?"/> 
     <allow users="*"/> 
    </authorization> 
    </system.web> 
</location> 

मेरा प्रश्न, मैं कैसे ASP.NET MVC 3 में सुरक्षा के इस एक ही प्रकार लागू करते है: मैं अपने web.config फ़ाइल में निम्नलिखित का उपयोग करके इस निर्देशिका पर पहुँचने से अनधिकृत उपयोगकर्ता प्रतिबंधित कर दिया है? मेरे पास एक झुकाव है जिसमें इसमें मेरे नियंत्रक वर्गों पर विशेषताओं को सेट करना शामिल है। हालांकि, AuthorizeAttribute ऐसा लगता है कि यह केवल उपयोगकर्ता नामों की एक सूची स्वीकार करता है, न कि ऑथ स्थिति (अगर मैं गलत हूं तो कृपया मुझे सही करें)। मैंने सैंपल एएसपी.नेट इंटरनेट एप्लिकेशन को देखा और मुझे इसमें कुछ भी कॉन्फ़िगर नहीं किया गया।

क्या कोई मुझे इस पर सही दिशा में इंगित कर सकता है?

धन्यवाद!

+0

मेरे प्रश्न के स्वीकृत उत्तर पर एक नज़र डालें: http://stackoverflow.com/q/746998/1796 –

उत्तर

5

यह सही है, तुम इतनी तरह AuthorizeAttribute का उपयोग करेंगे,:

[Authorize] 
public ActionResult AuthenticatedUsers() 
{ 
    return View(); 
} 

[Authorize(Roles = "Role1, Role2")] 
public ActionResult SomeRoles() 
{ 
    return View(); 
} 

[Authorize(Users = "User1, User2")] 
public ActionResult SomeUsers() 
{ 
    return View(); 
} 

"प्रमाणन स्थिति" का सवाल है, मुझे यकीन है कि मैं जानता हूँ कि तुम क्या मतलब है नहीं कर रहा हूँ। ऐसा लगता है कि Roles उस प्रमाणीकरण आवश्यकता को संभालेगा।

+0

'[अधिकृत करें]' अटारी को सत्यापित करना चाहिए कि उन्हें आम तौर पर प्रमाणित किया जाता है। जैसा कि मैंने इसे पढ़ा है, वही है जो ओपी ढूंढ रहा है। मुझे लगता है कि वह इस धारणा के तहत हो सकता है कि भूमिका पैरामीटर आवश्यक है। साथ ही, यह ध्यान दिया जाना चाहिए कि इन विशेषताओं को नियंत्रक वर्ग पर ही लागू किया जा सकता है ताकि वे प्रत्येक विधि के लिए इसे परिभाषित करने के बजाय उन्हें उसी तरह से संभाल सकें। –

0

यदि आप चाहें तो भी आप web.config में प्राधिकरण कर सकते हैं। अधिकांश लोग [प्राधिकृत] फ़िल्टर का उपयोग करके क्रियाओं या संपूर्ण नियंत्रक (या आधार नियंत्रक) को अपनी अधिकृत अनुमतियां स्थानांतरित करेंगे।

अधिकृत फिल्टर भूमिकाओं या उपयोगकर्ता एक ही है कि web.config करता है का समर्थन करता है (उपयोग की * और? "प्रमाणीकृत" और "गुमनाम" के लिए)

उपयोगकर्ताओं और भूमिकाओं ऐसा नहीं करेंगे, तो आप के लिए जाँच एक कस्टम अधिकृत विशेषता बनाने पर यह लेख:

ASP.NET MVC Custom Authorization

0

आप कहने के लिए है जो उपयोगकर्ताओं को या भूमिकाओं एक नियंत्रक का उपयोग करने के (यदि आप एक नियंत्रक में डाल अनुमति होगी अधिकृत विशेषता का उपयोग करेगा, इन अनुमतियों हो जाएगा इस नियंत्रक में सभी कार्यों के लिए निर्धारित) या एक कार्रवाई। देखो: http://build.mt.gov/2011/10/27/aspnet-mvc3-and-the-authorize-attribute.aspx। याद रखें जो आपकी भूमिकाएं प्रदान करेगा (एक विशिष्ट उपयोगकर्ता से) एक रोलप्रोवाइडर होगा, जैसे आप एएसपीनेट वेबफॉर्म के साथ उपयोग करते हैं।

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