ورود

View Full Version : فایر نشدن HandleUnauthorizedRequest



resident
جمعه 22 فروردین 1393, 16:36 عصر
سلام.
من برای تعیین دسترسی به فرمها ، کلاسی ایجاد کردم که از AuthorizeAttribute ارث بری کرده.
متد AuthorizeCore رو برای چک کردن دسترسی ها ، override کردم و همچنین متد HandleUnauthorizedRequest برای نمایش View مناسب(به صورت زیر)

protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary { { "action", "NotAuthorized" }, { "controller", "Account" } });
}
مشکل اینجاست که هیچ وقت متد HandleUnauthorizedRequest اجرا نمیشه.
کسی می تونه راهنماییم کنه؟

alireza_s_84
جمعه 22 فروردین 1393, 18:23 عصر
سلام.
من برای تعیین دسترسی به فرمها ، کلاسی ایجاد کردم که از AuthorizeAttribute ارث بری کرده.
متد AuthorizeCore رو برای چک کردن دسترسی ها ، override کردم و همچنین متد HandleUnauthorizedRequest برای نمایش View مناسب(به صورت زیر)

protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary { { "action", "NotAuthorized" }, { "controller", "Account" } });
}
مشکل اینجاست که هیچ وقت متد HandleUnauthorizedRequest اجرا نمیشه.
کسی می تونه راهنماییم کنه؟
باید در فایل Filter.Config کلاستون رو رجیستر کنید برای مثال اگه اسم کلاستون AjaxAuthorizeAttribute باشه به شکل زیر:
filters.Add(new AjaxAuthorizeAttribute());

resident
جمعه 22 فروردین 1393, 23:10 عصر
از دوست عزیزم alireza_s_84 ، سپاسگزارم. حل شد:

برای دوستانی که شاید مشکل منو داشته باشن، لینک زیر برای پیدا کردن فایل Filter.Config و فیلترها مفیده:
http://www.asp.net/mvc/tutorials/hands-on-labs/aspnet-mvc-4-custom-action-filters