首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蓝色传送门。Mvc重定向到自定义错误页对403错误无效

蓝色传送门。Mvc重定向到自定义错误页对403错误无效
EN

Stack Overflow用户
提问于 2018-04-01 19:49:08
回答 1查看 277关注 0票数 0

我已经在我的role-based应用程序中配置了owin role-based授权。然后,我需要添加403 http错误的自定义处理。

我知道两种方法:

  1. Web.config设置:
  2. HandleUnauthorizedRequest属性中重写的Authorize方法内部的配置: 如果(filterContext.HttpContext.User?.Identity.IsAuthenticated ??){ filterContext.Result =新的RedirectToRouteResult(新的RouteValueDictionary { {"action“、"NoAccess"}、{”控制器“、"Error"} });//我尝试了以下两种变体:下面的行和没有它的RouteValueDictionary}

当我试图访问我的用户不允许访问的资源时,这两种方法在我的本地机器上都能很好地工作,并且我看到了我的自定义页面中的403错误,但是当我在azure门户上部署我的应用程序时,我只看到了带有以下文本的白色页面:“您没有查看此目录或页面的权限。”正如我所理解的,我需要在azure门户上配置这个行为,以及在我的代码中配置它。

有人能给我建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-05 14:16:25

我找到了答案。如果我在控制器方法中手动设置响应代码,则会出现此问题,如下所示:

代码语言:javascript
复制
public ActionResult NoAccess()
{
    Response.StatusCode = 403;
    return View();
}

如果删除此状态设置,则重定向工作正常。解决方案是将以下标志设置为true:TrySkipIisCustomErrors

代码语言:javascript
复制
 public ActionResult NoAccess()
 {
     Response.TrySkipIisCustomErrors = true;
     Response.StatusCode = 403;

     return View();
 }

那么每件事都是正确的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49602030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档