Ich folgte diesem Tutorial http://www.tugberkugurlu.com/archive/api-key-authorization-through-query-string-in-asp-net-web-api-authorizationfilterattribute , um benutzerdefinierte Autorisierungsfilter zu erstellen.Autorisieren Sie Anfrage in ASP.NET Web API basierend auf bestimmten Benutzer
I CarController mit meiner benutzerdefinierten Autorisieren Attribut haben: [ApiKeyAuth ("apikey", typeof (ApiKeyAuthorizer))]
Ich schicke zwei Parameter in der URL .. Host/Auto/4 username = xxx & Pass = xxx Es funktioniert grundsätzlich gut, aber ich möchte nur Autobesitzer Informationen über ihre Autos sehen lassen. Zum Beispiel Benutzer ABC kann nur Host/Car/5 sehen und Benutzer DEF kann Host/Car/6 und Host/Car/10 sehen Wie kann ich dieses Szenario lösen? Wie kann ich in meinem ApiKeyAuthorizer auf die ID des Fahrzeugs zugreifen, das in der Abfrage (Host/Car/ID) verwendet wird?
Grüße
Ja, das ist, was ich gemacht habe, um sowohl Benutzername als auch Passwort für die Autorisierung zu übergeben. Ich möchte aber ID oder andere Parameter auf diese Weise nicht weitergeben. Ansonsten ist es wichtig ASP.NET Web API zu verwenden wenn ich sowieso alle Parameter selbst handhabe – Bart
@Bart - Ich habe etwas mehr stochern und gefunden http://geekswithblogs.net/jdothoffman/archive/2012/03/06/mvc-4-beta-web-api-bug -with-binding-route-values.aspx, die uns näher bringt, aber Sie sollten in der Lage sein, die Routendaten direkt von der Anfrage über die GetRouteData-Erweiterung zu erhalten. Ich habe aktualisiert. – tvanfosson