Erstellen von Benutzerdefinierten Berechtigungs-Attribut mit MVC

Ich bin sehr neu zu MVC, und dies ist mein Erster Versuch der Erstellung einer Website mit es, und simplemembership. Die Anforderung beschäftige ich mich mit der müssen Sie beide Rollen und Berechtigungen.

So, ich brauche eine zusätzliche Autorisierung Methode, die funktioniert genau wie die Rollen.
so zum Beispiel, ich brauche dieses, um zu arbeiten:
[AuthorizeUser(Permission = "Durchsuchen")]

Ich fand mehrere Beispiele für die Erstellung von benutzerdefinierte Autorisierungs-Attribute, aber bisher hat keiner wirklich für mich gearbeitet. Der Wert übergeben wird verloren, und ich bekomme immer ein null-Wert Ausnahme.

Ich fand mehrere ähnliche Fragen, aber der code fand ich mit Ihnen ist nicht für mich arbeiten.
Unten ist ein Beispiel, was ich versucht habe, basiert auf dem code, der sich in verschiedenen stackoverflow-Fragen.


public class AuthorizeUser : AuthorizeAttribute
    {
        public string AccessLevel { get; set; }
     protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            var isAuthorized = base.AuthorizeCore(httpContext);
            if (!isAuthorized)
            {
                return false;
            }

            //My method to get permisions
            userPermissions=getpermsions();


            if (userPermissions.Contains(this.Permission))//**** problem line
            {
                return true;
            }
            else
            {
                return false;
            }
        }

}

Das problem ist diese Zeile:
wenn (userPermissions.Enthält(dies.Erlaubnis))

diese.Die Erlaubnis ist IMMER null.
Ich habe versucht mehrere Variationen von diesem, und es ist immer null.

Kann ich eine andere Alternative Mittel, aber es macht mich verrückt, das wird nicht funktionieren.
Es scheint, wie es sollte.

InformationsquelleAutor RickM | 2013-08-13
Schreibe einen Kommentar