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 }
} );
}
}
}
感谢。
答案 0 :(得分:0)
它不是IIS显示这个,你的浏览器是,因此无法更改。加载提琴手,您应该能够确认第4个请求永远不会从您的浏览器发出,而第3个请求来自IIS的请求不是您所看到的页面。