2014-04-10 10 views
14

Zaczynam od identyfikatora ASP.NET, ale nie mogę znaleźć sposobu na pobranie listy aktualnie zalogowanych użytkowników. Aby uzyskać wszystkich użytkowników I można po prostu użytkownikUzyskiwanie listy zalogowanych użytkowników w tożsamości ASP.NET

new ApplicationDbContext().Users 

gdzie ApplicationDbContext pochodzi z szablonu ASP.NET Web Application i rozciąga IdentityDbContext.

Jednak wydaje się, że klasa IdentityUser nie ma możliwości sprawdzenia stanu zalogowania.

Dziękuję za wszelkie wskazówki.

+3

Będę pod wrażeniem, jeśli jest to obecnie zaimplementowane w ASP.NET Identity – Jonesopolis

+0

Czy myślisz o przechwytywaniu zdarzenia, które występuje, gdy użytkownik się loguje? Przechowuj te informacje w tabeli bazy danych lub w pamięci. Gdy użytkownik się wyloguje, usuń tego użytkownika z bazy danych lub z pamięci. – mason

+0

Nie sądzę - koncepcja "obecnie zalogowany" jest bardzo specyficzna dla aplikacji, więc jest mało prawdopodobne, aby implementacja działała w wielu przypadkach. –

Odpowiedz

20

Nie ma wbudowanego wsparcia dla tego. Jednym z prostych sposobów implementacji byłoby dodanie LastActivityDate do użytkownika, który jest aktualizowany za każdym razem, gdy użytkownik robi coś w Twojej witrynie. Następnie możesz po prostu zapytać o to, szukając użytkowników, którzy są aktywni w rozsądnym czasie, np. 30 minut i wyświetlają to.

+4

+1, ponieważ jest to jedyne rozsądne podejście –

Powiązane problemy