Ich muss auf den aktuell angemeldeten Benutzer in meinem Aktionsfilter zugreifen. Die Identität wird durch eine DelegatingHandler
weiter oben in der Kette der Ausführung festgelegt.WebApi ActionFilterAttribute, HttpActionContext Zugriff Benutzername (IPrincipal)
I kann Zugriff auf die aktuellen IPrincipal
HttpContext.Current.User
verwenden. Bisher habe ich vermieden, HttpContext.Current
zu verwenden, da es mir schien, schlechter Stil zu sein. Zunächst wird Ihr Code nur funktionieren, wenn in IIS gehostet und zweitens enthält es einen Verweis auf System.Web
, die ich schätze, tut nicht weh, aber ich würde lieber mit System.Net.Http
bleiben, wenn möglich. Es fühlt sich einfach falsch an, sich auf gute alte "HttpContext
" zu verlassen.
Gibt es eine andere Möglichkeit, auf die Identität des Benutzers innerhalb einer ActionFilter
zuzugreifen? Oder ist es in Ordnung, HttpContext
zu verwenden, wenn Sie keine selbst gehostete Anwendung ausführen möchten?
Verdammt .. Ich habe wirklich gründlich gesucht, bevor Sie die Frage posten. 5 Minuten später habe ich zwei funktionierende Antworten :( – lapsus