دسته بندی ها
11:14 1399/01/22
روش اجرای یک اکشن دیگر به هنگام accessdeny در authorize یک اکشن
با سلام موقعی که دسترسی ها را محدود می کنیم و کاربری به بخشی دسترسی ندارد با خطا accessdeny مواجه می شویم در پیج خطا چطور می توانیم این را مدیریت کنیم که مثلا با عدم دسترسی به اکشن خاصی یا پیج خاصی هدایت شویم
ویرایش شده در پنج شنبه 24 مهر 1399 ساعت 14:33:26
مشخصات سوال کننده :
کاربر : Soltani
امتیاز کاربر : 3
رتبه کاربر : 136
به این سوال امتیاز بدهید
0
تعداد بازدید این سوال : 2091
هوش مصنوعی
پاسخ هوش مصنوعی
برای مدیریت خطای 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 هدایت خواهد شد.
آخرین سوالات ثبت شده
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
سوالات مرتبط
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.
 
ورود