Gibt es eine Möglichkeit zu überprüfen, ob der Controller, der eine Methode aufgerufen hat, von einem Controller kommt, der sich in einem Bereich befindet?Erarbeiten, ob Controller in einem Bereich ist
Zum Beispiel habe ich eine Klasse, die von AuthorizeAttribute erbt, z.
public class CustomAuthorize: System.Web.Mvc.AuthorizeAttribute
{
public CustomAuthorize()
{
...
}
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
// TODO - Check if the controller is from an Area
}
}
Ich habe dann einige Controller-Aktionen, die mit relevanten Rollen (sowie einige andere benutzerdefinierte Attribute) z.
[CustomAuthorize(Roles ="Administrator")]
[HttpGet]
public virtual ActionResult Index()
{
...
}
Im TODO Abschnitt oben würde Ich mag, um zu sehen, ob der Controller einer des Controller von einem meines Bereich ist. Ich weiß, dass meine Controller, die sich in einem Bereich befinden, sich im Namespace ProjectName.Areas.xxx.Controllers befinden (wobei xxx für den Gebietsnamen steht), während diejenigen, die nicht vorhanden sind, sich im Namespace ProjectName.Controllers befinden.
Gibt es eine Möglichkeit (mit Reflektion vielleicht?), Dass ich aus der AuthorizeCore-Funktion über das kann ich den bestimmten Bereich (oder Namespace, aus dem es stammt), so dass ich einige benutzerdefinierte Funktionalität implementieren kann?
Ausgezeichnet, danke. – ca8msm
Kein Problem @ ca8msm - froh, dass ich helfen konnte. – petelids