加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 在MVC中设置403错误页面

发布时间:2020-12-15 23:47:37 所属栏目:asp.Net 来源:网络整理
导读:我覆盖了执行自定义授权的类 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method,Inherited = true,AllowMultiple = true)]public class AuthorizeAttribute : System.Web.Mvc.AuthorizeAttribute{ protected override void HandleUnauthori
我覆盖了执行自定义授权的类
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method,Inherited = true,AllowMultiple = true)]
public class AuthorizeAttribute : System.Web.Mvc.AuthorizeAttribute
{
    protected override void HandleUnauthorizedRequest(System.Web.Mvc.AuthorizationContext filterContext)
    {
        if (filterContext.HttpContext.Request.IsAuthenticated)
        {
            filterContext.Result = new System.Web.Mvc.HttpStatusCodeResult(403);
        }
        else
        {
            base.HandleUnauthorizedRequest(filterContext);
        }
    }
}

现在在web.config中我已经配置了403错误页面

<customErrors defaultRedirect="/Shared/Error" mode="On">
  <error statusCode="403" redirect="/Shared/UnAuthorize" />
</customErrors>

但浏览器仍然显示403的默认错误页面,
我在这里错过什么,任何想法

解决方法

只是一个小提示/注释除了Max B.答案:

当我使用自定义错误时,我会创建一个ErrorsController和一个UnAuthorize ActionResult并执行以下操作:

<error statusCode="403" redirect="/Errors/UnAuthorize" />

这样我可以在控制器中添加额外的信息或执行其他操作,例如:

像登录数据库,有人试图访问认证区域.
>计数错误
>也许是可以用来发送管理信息的错误或报告表.
> …

这样你就可以对发生的事情有更多的控制.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读