ASP.NET MVC基本身份验证计数尝试?

时间:2011-11-01 16:34:16

标签: asp.net-mvc-3 authentication .net-4.0 routes

VSM 2010上的ASP.NET MVC 3,.NET Framework 4:

我将web.config设置为“none”进行身份验证。我有一些自定义属性和代码启用基本身份验证(基于我已经从大师那里找到的 - 谢谢)。尝试3次失败后,IIS会显示自己的“auth denied”消息。我试图将计数更改为5次尝试并显示我自己的错误页面。到目前为止,我看不出怎么做。

auth班的摘录:

CustomBasicAuthorizeAttribute: AuthorizeAttribute
...
public override void OnAuthorization(AuthorizationContext filterContext)
{
    if (filterContext == null) throw new ArgumentNullException("filterContext");
    if (!Authenticate(filterContext.HttpContext))
    {
        filterContext.Result = new HttpCustomBasicUnauthorizedResult();
    }
    else
    {
        if (AuthorizeCore(filterContext.HttpContext))
        {
            HttpCachePolicyBase cachePolicy = filterContext.HttpContext.Response.Cache;
            cachePolicy.SetProxyMaxAge(new TimeSpan(0));
            cachePolicy.AddValidationCallback(CacheValidateHandler, null /* data */);
        }
        else
        {
            filterContext.Result = new RedirectToRouteResult(
            new RouteValueDictionary
                    {
                            { "client", filterContext.RouteData.Values[ "client" ] },
                            { "controller", "Account" },
                            { "action", "Login" },
                            { "ReturnUrl", filterContext.HttpContext.Request.RawUrl }
                    } );

        }
    }
}

感谢。

1 个答案:

答案 0 :(得分:0)

它不是IIS显示这个,你的浏览器是,因此无法更改。加载提琴手,您应该能够确认第4个请求永远不会从您的浏览器发出,而第3个请求来自IIS的请求不是您所看到的页面。