2016-08-03 21 views
0

ich ein Admin-Dashboard-Projekt haben, die globale Zulassung benötigen und ich sie einrichten aufAllowAnonymous Attribut machen Autorisieren ignoriert

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
    { 
     filters.Add(new AuthorizeAttribute()); 
    } 

Dieser Code machen alle meine Controller .. Sein genehmigen, und es ist ein Controller, der hat [AllowAnonymous] Attribut .. Allerdings plötzliche Änderung Anfrage ich habe die eine Aktion auf diesem Controller zu genehmigen ..

[AllowAnonymous] 
public class AuthController : Controller 
{ 
    [Authorize(Roles = "Admin")] 
    public ActionResult BumbaSection() 
    { 
     return View(); 
    } 
} 

noch Dies funktioniert nicht, sein, muss ich diese BumbaSection Aktion zugreifen kann .. Jede Idee? Dank

+0

Zunächst müssen Sie das AuthorizeAttribute nicht in den globalen Filtern registrieren, es ist bereits Teil des mvc-Frameworks. Wie authentifizieren Sie sich und wie speichern Sie Ihre Rollen? Zeigen Sie uns Ihren Code dazu. –

Antwort

1

Nachdem ich den authorise Code spähe, macht dieser Teil des Codes die authorise nicht funktioniert:

public virtual void OnAuthorization(AuthorizationContext filterContext) 
{ 
    //code here 

    if (filterContext.ActionDescriptor.IsDefined(typeof (AllowAnonymousAttribute), true) || filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof (AllowAnonymousAttribute), true)) 
     return; 

    //code here  
} 

Aufschalten dieses Stück Code in Attributklasse autorisieren und mein Code anfangen zu arbeiten .. Vielleicht dieser Wille Nützlich für diejenigen, die ein Problem mit mir haben

Verwandte Themen