ASP.NET MVC Основные подсчеты аутентификации? - PullRequest
0 голосов
/ 01 ноября 2011

ASP.NET MVC 3 на VS 2010, .NET Framework 4:

У меня для web.config установлено «none» для аутентификации. У меня есть некоторые пользовательские атрибуты и код, который включает базовую аутентификацию (основываясь на том, что я уже нашел здесь у гуру - спасибо). После 3 неудачных попыток IIS отображает собственное сообщение «Отказано в авторизации». Я пытаюсь изменить количество до 5 попыток и отображаю свою страницу ошибки. Пока я не вижу, как это сделать.

Выдержка из класса аутентификации:

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 голосов
/ 02 ноября 2011

Это не IIS отображает это, ваш браузер, таким образом, не может быть изменено. Загрузите Fiddler, и вы сможете убедиться, что 4-й запрос никогда не отправляется из вашего браузера, а ответ на 3-й запрос от IIS не соответствует странице, которую вы видите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...