Web-API benutzerdefinierte Authentifizierung filter
Ich versuche, einen benutzerdefinierten filter für meine web-api-Controller Teil eines ASP.NET MVC 5 Webseite/- Anwendung, die Aufträge prüfen-Header für eine bestimmte Spielfigur, die ich habe in der Datenbank gespeichert. Die meisten Beispiele, die ich fand, waren mit Benutzer-credentials und anschließend wird der Benutzer authentifiziert wurde unter Verwendung der Identität. Nicht genau das, was ich Suche.
Dies ist die tutorial ich gefunden und bin derzeit folgenden.
Web-API sollte nur mit "externen" HTTP-Aufrufe, die website, die Seite wird mit einem eigenen Controller zur Zeit (kann aber geändert werden).
Dieser filter sollte-Schnittstelle mit Identität 2-system bereits vorhanden wenn möglich.
Was ich mache ist, dass ich senden von Anmeldeinformationen für Benutzer ordnen Sie dann ein token an den Benutzer und dann möchte ich, dass der token für die Authentifizierung der Anfrage. Gibt es eine Möglichkeit, kann ich nur filter die Anforderung basierend auf dem token oder brauche ich Owin Identität und token-management. Ich bin mit einem mobilen client (derzeit iOS, wie android auch) die Aufrufe. Irgendein Beispiel oder tutorial konnte ich finden ?
Token ist derzeit einer zufälligen Kombination alphanumerischer Zeichen und Symbole.
Danke.
P. S. ich kann nach code-snippets und Sachen, wo nötig.
Edit: Die HTTPRequests gefiltert werden, basierend auf, ob Sie enthalten ein token, der in unserer Datenbank/system. - Anforderungen enthalten, die ein token oder nicht vorhanden sind, sind in unserem system erhalten unberechtigte Fehlermeldung (401?)
Ja, die token im Anfrage-header.
Was meinst du mit filter die Anforderung basierend auf dem token? Nicht jeder HTTPReqeust enthalten, die token, oder ist es erforderlich, die filter nur Anfragen, wenn Sie einen token?
Die HTTPRequests gefiltert werden, basierend auf, ob Sie enthalten ein token, der in unserer Datenbank/system. - Anforderungen enthalten, die ein token oder nicht vorhanden sind, sind in unserem system erhalten unberechtigte Fehlermeldung (401?)
So fügen Sie Ihren filter und machen den DB-Anfrage, wenn das token nicht vorhanden ist, dann umleiten der HTTP-Anfrage..
InformationsquelleAutor beowulf | 2016-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nehme an, Sie dachte, dass das senden von Benutzernamen und Kennwort auf jede Anfrage ist nicht gut.Siehe meine unterhalb Umsetzung mit Benutzer-name und Passwort, da wir nicht senden Benutzernamen und Passwort bei jeder Anfrage.
InformationsquelleAutor Raj A
Können Sie diese filter unit-testbar durch die Injektion der service-Abhängigkeiten über die Eigenschaft(property-injection). Für benutzerdefinierte Attribute, die wir nicht wollen, übergeben Sie die Abhängigkeiten via Konstruktor. Wir wollen das Attribut leicht zu
verwenden. Zu umschreiben, was @Raj bereits gestartet wurde, kann es wie folgt Aussehen:
InformationsquelleAutor alltej
Danke für die Antworten, nach einigen Experimenten habe ich überarbeitet, die ganze API für die Verwendung von OAuth 2-Authentifizierung mit bearer-tokens. Es löste mein problem mit dem Filter.
InformationsquelleAutor beowulf