دسته بندی ها
11:14 1399/01/22
روش اجرای یک اکشن دیگر به هنگام accessdeny در authorize یک اکشن
با سلام موقعی که دسترسی ها را محدود می کنیم و کاربری به بخشی دسترسی ندارد با خطا accessdeny مواجه می شویم در پیج خطا چطور می توانیم این را مدیریت کنیم که مثلا با عدم دسترسی به اکشن خاصی یا پیج خاصی هدایت شویم
ویرایش شده در پنج شنبه 24 مهر 1399 ساعت 14:33:26
مشخصات سوال کننده :
کاربر : Soltani
امتیاز کاربر : 3
رتبه کاربر : 138
به این سوال امتیاز بدهید
0
تعداد بازدید این سوال : 2130
هوش مصنوعی
پاسخ هوش مصنوعی
برای مدیریت خطای AccessDenied و هدایت به یک اکشن یا صفحه خاص، می توانید از فیلتر OnAuthorization در ASP.NET MVC استفاده کنید. اینجا یک نمونه برای هدایت به یک اکشن دیگر در زمان مواجهه با این خطا ارایه می شود:
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
if (filterContext.HttpContext.User.Identity.IsAuthenticated)
{
// کاربر احراز هویت شده است اما دسترسی ندارد
filterContext.Result = new RedirectToRouteResult(
new System.Web.Routing.RouteValueDictionary
{
{ "controller", "Home" }, // کنترلری که می خواهید کاربر را به آن هدایت کنید
{ "action", "AccessDenied" } // اکشنی که می خواهید کاربر را به آن هدایت کنید
});
}
else
{
// کاربر احراز هویت نشده است
base.HandleUnauthorizedRequest(filterContext);
}
}
}
سپس می توانید از این فیلتر به جای Authorize به صورت زیر استفاده کنید:
[CustomAuthorize]
public ActionResult MyAction()
{
return View();
}
اکنون اگر کاربری به MyAction دسترسی نداشته باشد، به اکشن AccessDenied در کنترلر Home هدایت خواهد شد.
آخرین سوالات ثبت شده
- دسترسی به پکیج های nuget در زمان قطع نت بین الملل
- نمایش آخرین ردیف دیتاگیرید موقع لود در wpf
- مشکل اینترنت جهانی و عدم دسترسی به cdnjs.cloudflare.com
- مشکل در نصب sql server 2022
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- جلوگیری از انتشار غیرمجاز مطالب در کانال های تلگرامی
- تفاوت های تلگرام و واتس اپ چیست ؟
سوالات مرتبط
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.
 
ورود