2016-06-27 12 views
5

Utilizzo l'autenticazione basata su token per il mio servizio API Web. Ma voglio monitorare creato da, creato su informazioni per tutti i record. Quindi sto impostando HttpContext.Current.User e GenericIdentity con userId nel mio AuthenticationFilter. Ma non voglio accedere a HttpContext dal mio datalayer perché penso che il livello dati non debba sapere nulla di HttpContext.API Web Asp.Net che passa l'utente attraverso i layer

Quindi, esistono delle best practice per il passaggio delle informazioni utente attraverso i livelli senza `HttpContext '?

risposta

2

Assegnare il preside a entrambi HttpContxt.Current.User e Thread.CurrentPrincipal.

È quindi possibile accedere a Thread.CurrentPrincipal da qualsiasi punto all'interno del codice, naturalmente anche da progetti che non hanno un riferimento a System.Web.