Я настроил авторизацию role-based
в своем приложении MVC
. Затем мне нужно добавить пользовательскую обработку ошибки 403
http.
Я знаю два подхода к этому:
Web.config
настройки:<customErrors mode="Off" defaultRedirect="~/Error/" redirectMode="ResponseRedirect"> <error statusCode="403" redirect="~/Error/NoAccess" /> </customErrors>
Конфигурация внутри переопределенного метода
HandleUnauthorizedRequest
в атрибутеAuthorize
:if (filterContext.HttpContext.User?.Identity.IsAuthenticated ?? false) { filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary { {"action", "NoAccess"}, {"controller", "Error"} }); //I've tried two variants of below: with below line as well as without it filterContext.Result.ExecuteResult(filterContext.Controller.ControllerContext); }
Оба этих метода хорошо работают на моем локальном компьютере, когда я пытаюсь получить доступ к ресурсам, которые не разрешены для моего пользователя, и я вижу свою пользовательскую страницу для ошибки 403
, но когда я развертываю свое приложение на портале azure
, я вижу только белую страницу со следующим текстом: 'У вас нет разрешения на просмотр этого каталога или страницы.'. Насколько я понимаю, мне нужно настроить это поведение на лазурном портале так же, как я настроил его в своем коде.
Может кто посоветует с ним?