2017-06-27 2 views
0

Ich implementiere einen OData-Endpunkt in einer ASP.NET-Anwendung und arbeite gerade am Authentifizierungsteil. Ich habe das Beispiel unter http://odata.github.io/WebApi/05-01-basic-auth/ für die Implementierung der HTTP-Standardauthentifizierung betrachtet. Das Beispiel sieht jedoch sehr seltsam für mich aus, obwohl der Artikel den Eindruck erweckt, dass Sie auf diese Weise generische benutzerdefinierte Authentifizierung für eine RESTful-API implementieren.ASP.NET OData/Web API Authentifizierung und Dokumentation

z.B .:

  • Es implementiert Authentifizierung auf der Stufe einer Pipeline, wo Sie sollen Genehmigung implementieren. Mein Verständnis ist, dass, wenn OnAuthorization aufgerufen wird, Sie bereits das Prinzipal festgelegt haben und das einzige, was noch zu tun ist, zu überprüfen, ob der Prinzipal genügend Zugriff hat, um die angeforderte Aktion auszuführen.

  • Was ist der Deal mit diesem Aufruf an IsAuthorized? Ist das nicht eine nebenwirkungsfreie Methode?

Also im Grunde würde Ich mag von jemandem überprüfen, wer besser vertraut mit ASP.NET Web API ist, um zu bestätigen, ob dies eine ist), um die richtige Art und Weise Dinge b) eine hackish aber sichere Weise zu tun, Dinge zu tun oder c) etwas Gefährliches, das im Produktionscode niemals vorkommen sollte.

Antwort

0

Sie haben Recht, Authentifizierung sollte in separaten AuthenticationFilter oder sogar in HttpModule implementiert werden. Ein Beispiel finden Sie hier: authentication filter, http module.

Verwandte Themen