Kann ein AuthorizationAttribute verhindern, dass eine Aktion vollständig ausgeführt wird?

8

Ich habe ein benutzerdefiniertes AuthorizationAttribute, das auf der Oberfläche zu funktionieren scheint. Wenn ein Benutzer ohne die richtigen Berechtigungen eine Aktion über den Browser anfordert, wird ihm die entsprechende Nachricht angezeigt.

Ich habe begonnen, dieses Attribut auf HttpPost -Aktionen anzuwenden, die Dinge wie Löschen ausführen. Obwohl die Antwort korrekt ist, wird der Hauptteil der Aktion weiterhin ausgeführt (in diesem Fall wird das Element gelöscht).

Ich möchte, dass die Aktionsmethode alles daran hindert, etwas zu tun, wenn das Autorisierungsattribut fehlschlägt. Ist das was AuthorizationAttributes sind, oder sollte ich einen anderen Weg suchen?

Aktualisierung:

%Vor%

Die Controller-Aktion wird folgendermaßen gestaltet:

%Vor%     
Michael Shimmins 02.01.2011, 04:54
quelle

1 Antwort

6

Sehen Sie sich meine Antwort hier an , da sie ähnlich ist was du erreichen willst.

Sie müssen das Ergebnis ändern, das von der Aktion zurückgegeben wird, anstatt nur die Headerwerte zu ändern.

%Vor%

Aktualisieren

Sie können auch Folgendes tun, wenn Sie die richtige HTTP-Antwort zurückgeben möchten:

%Vor%     
Omar 02.01.2011, 05:09
quelle