ASP.net MVC global Autorisierungsfilter, der die Anmeldung für eine AllowAnonymous-Aktion erzwingt
Setup (mit MVC 4)
public class MyAuthorizeAttribute : AuthorizeAttribute {
protected override bool AuthorizeCore(HttpContextBase httpContext) {
var isAuthorised = base.AuthorizeCore(httpContext);
if(isAuthorised) {
// retrieve authentication ticket from cookie and
// create custome principal and attach to
// httpContext.User
}
return isAuthorised;
}
}
Gloabl.asax.cs:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new MyAuthorizeAttribute());
}
HomeController.cs:
using System.Web.Mvc;
public class HomeController : Controller
{
[AllowAnonymous]
public ActionResult Index()
{
return View();
}
}
Problem
Ein Aufruf der Homepage erzwingt das Laden der Anmeldeseite.
Frage
Warum leitet ASP mich zur Anmeldeansicht um, wenn die Aktion HomeController.Index () mit [AllowAnonymous] dekoriert ist?
ich benutzediese Artikel als Referenz