VS 2010에서 ASP.NET MVC 3, .NET Framework 4 :ASP.NET MVC 기본 인증 계산 시도?
인증을 위해 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 }
});
}
}
}
감사합니다.
코드의 일부만 표시했으며이 부분은 실패한 인증 시도 계산과 관련이 없습니다. 예를 들어 Authenticate 및 AuthorizeCore 메소드가 어떻게 표시되는지는 표시하지 않았습니다. –
여기에 카운팅 코드가없는 이유는 이것이 카운팅이 발생해야하는 곳이라고 생각하기 때문입니다. 이 코드 전체에 중단 점을 넣고 런타임시 디버거의 속성/이벤트/메서드를 탐색하여 아무 것도 표시하지 않습니다. – Snowy