So erfahren Sie, welche Controller-Methode aus dem Web-API-Autorisierungsfilter aufgerufen wird

7

Ich habe eine benutzerdefinierte AuthorizationFilter -Klasse, um die Autorisierung für meine API zu behandeln. Jetzt muss ich es verbessern, indem ich einige Attribute zu Methoden hinzufüge, die nur gelesen werden einige Situationen.

Ich kann den Controller von actionContext.ControllerContext aber:

bekommen

Wie kann ich wissen, welche Methode Controller von der Methode IsAuthorized meiner benutzerdefinierten Klasse AuthorizeAttribute aufgerufen wird? So kann ich seine Attribute durch Reflexion erhalten.

Bearbeiten: Weitere Informationen hinzufügen -

Wenn ich einen Anruf bekomme wie localhost/api/myapi/?id=4 Ich möchte den tatsächlichen Namen der Methode erhalten, die in der Steuerung wie GetById(int id).

ausgeführt wird

Auf diese Weise konnte ich überprüfen, ob die Methode irgendwelche benutzerdefinierten Attribute hat, die ich hinzufügen muss.

    
Mg. 12.09.2014, 18:01
quelle

3 Antworten

19

In web api 2 können Sie den Aktionsnamen mit:

aufrufen %Vor%     
Henrik Cooke 20.09.2014, 05:06
quelle
1

Sie haben keinen Code gepostet, aber können Sie die RouteData im HttpActionContext nicht ansehen?

%Vor%     
Joe 15.09.2014 19:27
quelle
0

Nun, Sie können dies von der Route Data ausprobieren %Vor%     

Ananda Sudarshan 22.09.2014 15:02
quelle