Я установил страницу с ошибкой, которая будет перенаправляться, если возникает ошибка 403, и она работает в локальной среде, но не при развертывании в IIS, где она перенаправляет на страницу по умолчанию 403, т.е. 403 - Запрещено: доступ запрещен.
Почему?
Код:
web.config:
<system.web>
<compilation debug="true" targetFramework="4.5"/>
<httpRuntime targetFramework="4.5"/>
<globalization uiCulture="en" culture="en-GB"/>
<customErrors mode="Off"></customErrors>
<authentication mode="Forms"></authentication>
<sessionState timeout="60"></sessionState>
</system.web>
C #:
CustomAuthorize:
public class CustomeAuthorize: AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
// just to ensure if the unauthorized request is from an authenticated user or a visitor.
if (!filterContext.HttpContext.User.Identity.IsAuthenticated) // just a visitor since he/she doesn't need any login to proceed
{
//filterContext.Result = new ViewResult { ViewName = "~/Views/Errors/AuthorizeFailedError.cshtml" };
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Errors", action = "AuthorizeFailedError" }));
}
else //authenticated user but authorized to the requested page
{
filterContext.Result = new ViewResult { ViewName = "~/Views/Login/Login.cshtml" };
}
}