title: OverrideAuthentication attribute not working? ASP.NET MVC 5
body: <p>I have a super simple Authentication Attribute that I'm trying to implement in an ASP.NET MVC 5 application and I'm having some trouble.  I want the attribute to be applied globally, except for specific actions within a controller (for example the login form and the home page).</p>
  
  <p>I've tried decorating the action with the <code>[OverrideAuthentication]</code> attribute with no luck.  It gives me a redirect loop error because the application is still running the authentication on the login form, and keeps trying to redirect back to the login form over and over.</p>
  
  <p>Has anyone else seen this behaviour?  Any idea what I've stuffed up here?</p>
  
  <p>By way of example, I've created a super simple filter that is currently unimplemented:</p>
  
  <pre><code>public class BasicAuthenticationAttribute
      : ActionFilterAttribute, IAuthenticationFilter
  {
  
      public void OnAuthentication(AuthenticationContext filterContext)
      {
          throw new NotImplementedException();
      }
  
      public void OnAuthenticationChallenge(AuthenticationChallengeContext filterContext)
      {
          throw new NotImplementedException();
      }
  }
  </code></pre>
  
  <p>If I decorate my controller/action like this:</p>
  
  <pre><code>[BasicAuthentication]
  public class AccountController : Controller
  {
      [HttpGet]
      [OverrideAuthentication]
      public ActionResult Login()
      {
          return View();
      }
  }
  </code></pre>
  
  <p>I get a not implemented exception when I navigate to the Login action, even though that action shouldn't be running the authentication code at all.  Have I misunderstood how overrides are supposed to work?</p>