Người dùng đăng nhập nhiều lần cùng 1 tài khoản trong cùng 1 thời gian

  • Chủ đề được ưu tiên
  • 672 lượt xem
  • Bài cuối 09 Tháng Giêng 2018
Ken Nguyễn đăng này 14 Tháng Hai 2017

Mình có thắc mắc này mong các bạn giúp mình. Mình sử dụng Web API ở server và MVC ở client.   Vấn đề của mình là : "Người dùng đăng nhập nhiều lần cùng 1 tài khoản" .   Ví dụ : User A đăng nhập tài khoản "AccountA" , mình lưu Session["AccountA"] . Sau đó User B cũng đăng nhập tài khoản "AccountA" (User B cũng có quyền sử dụng tài khoản "AccountA") , và mình cũng lưu Session["AccountAB"] . Nhưng ở đây mình muốn set timeout cho Session["AccountA"] của user A trong lúc này vẫn đang thao tác chương trình.   => Đơn giản ở đây mình muốn trong cùng 1 thời gian thì không có 2 người dùng có cùng tài khoản sử dụng chương trình, chỉ duy nhất 1 người. Mình có 1 ý tưởng lưu biến AccountA trong Session["AccountA"] dưới database , nếu User B login thì change biến đó hoặc xóa đi , thì User A lần request sau sẽ không còn biến đó để sử dụng nữa. Nhưng nó không hay vì mỗi lần gửi request đến API mình phải select dưới database lên nên sẽ rất chậm. Refresh trang web thôi nó sẽ select tới cả chục lần.   Cám ơn.

Sắp xếp theo: Chuẩn | Mới nhất | Bình chọn
admin đăng này 18 Tháng Hai 2017

Theo mình bạn nên tạo 1 list static chung cho toàn bộ website. Khi login sẽ gán username và tokenid cho user đó vào list kia. Khi nào logout thì remove, người thứ 2 vào nếu login user đó sẽ check tồn tại trong list đó và không cho login hoặc đẩy ông cũ ra.

Chỉ cần check token khác là cho out ngay

TEDU

no1messi đăng này 09 Tháng Giêng 2018

Admin có đoạn code mẫu để tham khảo không, mình cũng đang vướng ở vấn đề này.

Cảm ơn.

Close