मेरे पास 10 सार्वजनिक विधियों के साथ ApiController
कक्षा है।क्या क्लास-स्तरीय AuthorizeAttribute से बाहर निकलने का तरीका है?
उन 10 तरीकों में से नौ को [Authorize(Roles="Admin")]
की आवश्यकता होती है। जो नहीं करता है, उसे किसी प्राधिकरण की आवश्यकता नहीं होती है।
यदि यह उस विधि के लिए नहीं था जिसे प्राधिकरण की आवश्यकता नहीं है, तो मैं ApiController
कक्षा [Authorize(Roles="Admin")]
के साथ सजाने के लिए तैयार करूंगा।
कक्षा स्तर के बजाय, मैं उसी [Authorize(Roles="Admin")]
के साथ सभी नौ विधियों को सजा रहा हूं और [Authorize(...)]
के साथ एक ही विधि को सजा नहीं रहा हूं।
मुझे इस बारे में क्या पसंद नहीं है कि मुझे उसी [Authorize(Roles="Admin")]
को नौ बार दोहराना होगा।
है वहाँ एक रास्ता है कि मैं बजाय अभी भी [Authorize(Roles="Admin")]
साथ वर्ग को सजाने कर सकते हैं और केवल एक विधि है कि एक विशेषता के साथ [Authorize(Roles="Admin")]
नहीं होना चाहिए की तरह "कुछ का मतलब है कि के लिए वर्ग स्तर कार्रवाई फिल्टर लागू नहीं है सजाने यह विशिष्ट विधि "?
तो विधि पर '[अनुमति दें अनाम]' कक्षा पर '[अधिकृत करें]' का अधिग्रहण करेगा, हां? – core
यह सही है। यहां देखें: http://weblogs.asp.net/jongalloway/asp-net-mvc-authentication-global- प्रमाणीकरण-and-allow- अनामित –