संपादित करें: ASP.NET MVC 4 के बाद से सबसे अच्छा तरीका बिल्ट-इन AllowAnonymous विशेषता का उपयोग करना है ।
नीचे दिए गए जवाब ASP.NET MVC के पुराने संस्करणों को संदर्भित करता है
आप मानक प्राधिकरण से विरासत में मिली एक कस्टम प्राधिकरण विशेषता बना सकते हैं। वैकल्पिक बूल पैरामीटर के साथ यह निर्दिष्ट करने के लिए कि क्या प्राधिकरण की आवश्यकता है या नहीं।
public class OptionalAuthorizeAttribute : AuthorizeAttribute
{
private readonly bool _authorize;
public OptionalAuthorizeAttribute()
{
_authorize = true;
}
public OptionalAuthorizeAttribute(bool authorize)
{
_authorize = authorize;
}
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if(!_authorize)
return true;
return base.AuthorizeCore(httpContext);
}
}
फिर आप अपने आधार नियंत्रक को उस विशेषता से सजा सकते हैं:
[OptionalAuthorize]
public class ControllerBase : Controller
{
}
और किसी भी कंट्रोलर के लिए जिसे आप प्राधिकरण नहीं चाहते हैं, बस 'झूठे' के साथ ओवरराइड का उपयोग करें - जैसे
[OptionalAuthorize(false)]
public class TestController : ControllerBase
{
public ActionResult Index()
{
return View();
}
}