2014-04-10 18 views
14

Tôi bắt đầu với ASP.NET Identity, nhưng tôi không thể tìm cách tìm nạp danh sách người dùng đã đăng nhập hiện tại. Để có được tất cả người dùng Tôi có thể chỉ sử dụngLấy danh sách người dùng đã đăng nhập trong ASP.NET Identity

new ApplicationDbContext().Users 

nơi ApplicationDbContext đi kèm với các mẫu ASP.NET Web Application, và mở rộng IdentityDbContext.

Nhưng lớp IdentityUser dường như không có bất kỳ cách nào để truy vấn trạng thái đăng nhập.

Cảm ơn mọi con trỏ.

+3

Tôi sẽ bị ấn tượng nếu điều này hiện được triển khai trong ASP.NET Identity – Jonesopolis

+0

Bạn có nghĩ về việc chụp một sự kiện xảy ra khi người dùng đăng nhập không? Lưu trữ thông tin đó trong một bảng cơ sở dữ liệu hoặc trong bộ nhớ. Khi người dùng đăng xuất, hãy xóa người dùng đó khỏi cơ sở dữ liệu hoặc bộ nhớ. – mason

+0

Tôi không tin như vậy - khái niệm về "hiện đang đăng nhập" là rất cụ thể ứng dụng vì vậy nó không có khả năng thực hiện mà làm việc trong nhiều trường hợp. –

Trả lời

20

Không có hỗ trợ tích hợp cho việc này. Một cách đơn giản bạn có thể thực hiện việc này là thêm LastActivityDate cho người dùng của mình, được cập nhật bất cứ khi nào người dùng thực hiện điều gì đó trên trang web của bạn. Sau đó, bạn chỉ có thể truy vấn để tìm kiếm người dùng đang hoạt động trong một khoảng thời gian hợp lý, như 30 phút và hiển thị điều đó.

+4

+1 vì đây là phương pháp hợp lý duy nhất –

Các vấn đề liên quan