সম্পাদনা করুন: এএসপি.নেট এমভিসি 4 যেহেতু অন্তর্নির্মিত অনুমতি দিন অজ্ঞাতনামা বৈশিষ্ট্যটি ব্যবহার করার পক্ষে সর্বোত্তম পন্থা ।
নীচের উত্তরটি ASP.NET MVC এর পূর্ববর্তী সংস্করণগুলিকে বোঝায়
অনুমোদনের প্রয়োজন আছে কি না তা নির্দিষ্ট করতে আপনি একটি Authorচ্ছিক বুল প্যারামিটার সহ স্ট্যান্ডার্ড অথরিজঅ্যাট্রিবিউট থেকে উত্তরাধিকার সূত্রে একটি কাস্টম অনুমোদনের বৈশিষ্ট্য তৈরি করতে পারেন।
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
{
}
এবং কোনও নিয়ন্ত্রণকারীদের জন্য আপনি অনুমোদন চান না কেবল একটি 'ভুয়া' - এর সাথে ওভাররাইড ব্যবহার করুন eg যেমন
[OptionalAuthorize(false)]
public class TestController : ControllerBase
{
public ActionResult Index()
{
return View();
}
}