Quản lý hạn chế 2 thiết bị đăng nhập
E đang sử dụng laravel.
Hiện tại e đang có 1 task về quản lý thiết bị khi đăng nhập trên web.
Chỉ cho phép 2 thiết bị được đăng nhập trên 1 tài khoản
Em đã thử các cách lưu lại quản lý:
- Sử dụng IP để phân biệt thiết bị mà thấy bật hợp lý khi họ di chuyển sử dụng mạng khác nhau
- Sử dụng User-Agent bất cập khi thay đổi trình duyệt
Anh em có gợi ý nào cho việc quản lý giới hạn 2 thiết bị khi đăng nhập không ạ! Cảm ơn
VD: Họ chỉ đăng nhập đc từ 1 PC A và 1 mobile A. sang PC B, mobile B đều k đăng nhập đc
6 CÂU TRẢ LỜI
Mình nghĩ liệu có thể làm như sau:
- Add thêm field count_device_logged_in (đếm số lượng device đã login) vào bảng users của bạn
- Khởi tạo field trên bằng 0 cho mọi user
- Mỗi lần đăng nhập thành công thì +1 cho field đó (update trong csdl)
- Mỗi lần đăng xuất thành công thì -1 cho field đó (update trong csdl)
- Khi đăng nhập mà user có field trên = 2 rồi thì không cho đăng nhập thêm.
cách của bạn thì nếu sử dụng 1 device nhưng login trên 3 trình duyệt là ko đc rồi. Bài toán của bạn ấy khác
E dùng đăng nhập mặc định của laravel thôi ạ!
Thiết bị muốn hạn chế bất cứ thiết bị nào đăng nhập trên website. Ví dụ dùng 1 PC và 1 Mobile chẳng hạn. Có gì để đánh dấu chúng nó không ạ
Mỗi lần đăng nhập Laravel sẽ tạo ra 1 session cho người dùng. Đơn giản là check xem lần login đó, session được tạo ra có vượt quá 2 không. Nếu vượt quá 2, thì xóa cái session cũ nhất đi và duy trì tối đa 2 session. Về lưu session thì có thể dùng db để lưu.
@bienhoang Vấn đề là trên 1 máy, có thể dùng n browser nên phải cho phép nó có N session Mình thấy về phía trình duyệt thì khó có thể care đc chuyện này. Giá mà là phần mềm desktop thì khả năng có nhiều cách để đối ứng hơn
Câu này hơi khó à nha!
Mình cũng hóng!
Phần mềm desktop thì còn có cách chứ trình duyệt thì hơi khó thật
Bạn có thể thử tìm hiểu về website fingerprint, đại khái là nó sẽ lưu lại các thông số của trình duyệt (kích thước màn hình, ...) mà người dùng sử dụng, và nó là duy nhất đối với mỗi trình duyệt. Việc này có thể giới hạn được trình duyệt mà người dùng đăng nhập.
Còn để giới hạn được thiết bị đăng nhập thì chỉ có thể sử dụng địa chỉ MAC, cái này mình cũng chưa tìm hiểu nên không rõ có thực hiện được không?