Potrzebuję uzyskać dostęp do aktualnie zalogowanego użytkownika w moim filtrze działania. Tożsamość jest ustalana przez łańcuch wykonawczy.WebApi ActionFilterAttribute, nazwa użytkownika dostępu HttpActionContext (IPrincipal)
I może dostęp obecny IPrincipal
użyciu HttpContext.Current.User
. Do tej pory unikałem używania HttpContext.Current
, ponieważ wydawało mi się to złym stylem. Przede wszystkim Twój kod działa tylko wtedy, gdy jest hostowany w IIS, a po drugie zawiera odniesienie do System.Web
, które, jak sądzę, nie boli, ale wolę trzymać się z System.Net.Http
, jeśli to możliwe. Po prostu nie można polegać na dobrym starym "HttpContext
".
Czy istnieje inny sposób uzyskania dostępu do tożsamości użytkownika w postaci ActionFilter
? Lub czy korzystanie z HttpContext
jest w porządku, jeśli nie planujesz uruchomienia aplikacji hostowanej samodzielnie?
Cholera ... Naprawdę naprawdę dokładnie przeszukałem przed opublikowaniem pytania. 5min później mam dwie działające odpowiedzi :( – lapsus