Używam SignalR do przetwarzania kliknięć od klienta w mojej aplikacji MVC3.Jak mogę uzyskać dostęp do zalogowanego użytkownika spoza kontrolera?
Za każdym razem, gdy użytkownik coś kliknie, muszę zweryfikować zalogowanego użytkownika.
Gdyby to było wewnątrz kontrolera MVC3, pójdę:
if (User.Identity.IsAuthenticated)
{
string username = User.Identity.Name;
//My code here.
}
to jednak wykonanie kodu nie jest wewnątrz klasy kontrolera.
Zasadniczo, w jaki sposób uzyskać dostęp do nazwy zalogowanych użytkowników spoza kontrolera?
Próbowałem go za pomocą HttpContext.Current i to działa. Jakie są niektóre z pułapek, które opisujesz? W jaki sposób kontekst byłby nieważny? Dlaczego polecasz Nigdy tego nie używam? –
@ Sergio Tapia, kontekst będzie pusty, jeśli wykonywany kod jest na przykład w wątku tła. Nie odpowiedziałeś na moje pytanie: gdzie próbujesz uzyskać dostęp do tych informacji? –
Ah Widzę, co mówisz, Kontekst jest częścią klasy Hub. Czy to masz na myśli? Powinienem użyć "Kontekstu" zamiast "HttpContext"? –