Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 8 của 8
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Không cho login đồng thời ở 2 máy khác nhau

    Chào các bạn, mình có 1 vấn đề mà mình chưa có cách giải quyết cụ thể là:
    Mình có nhu cầu không cho login cùng 1 thời điểm đối với user đó.
    Hoặc khi có người khác login vào thì báo là "có người đang sử dụng account này để login vào web".
    Vậy các bạn giải quyết ra sao? Nếu có code demo thì tốt quá [IMG]images/smilies/thinking.gif[/IMG]!

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Ở bảng User bạn cho thêm trường trạng thái, khi đăng nhập thì update trạng thái bằng 1. Khi end_session hoặc logout thì cho trạng thái về 0. Còn khi đăng nhập nếu mà trạng thái = 1 thì hiện thông báo

  3. #3
    Việc dựa vào trường trạng thái là hướng đúng. Nhưng pahỉ giải quyết thêm một số trường hợp ngoại lệ, ví dụ khi mất điện đột xuất thì mặc dù đã logout như vẫn chưa set lại trạng thái cho user.

  4. #4
    Trích dẫn Gửi bởi iamonlining
    Việc dựa vào trường trạng thái là hướng đúng. Nhưng pahỉ giải quyết thêm một số trường hợp ngoại lệ, ví dụ khi mất điện đột xuất thì mặc dù đã logout như vẫn chưa set lại trạng thái cho user.
    Trường hợp ngoại lệ này nằm ở sever phải không bạn? Chứ mình nghĩ khi end session thì mình chuyển trạng thái cũng ok mà.

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi iamonlining
    Việc dựa vào trường trạng thái là hướng đúng. Nhưng pahỉ giải quyết thêm một số trường hợp ngoại lệ, ví dụ khi mất điện đột xuất thì mặc dù đã logout như vẫn chưa set lại trạng thái cho user.
    Thế thì lúc connect thành công thì thiết lập cờ bằng 1
    lúc connection bị đóng hoặc timeout thì thiết lập = 0 và kick user đó ra

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    mất điện đột ngột thì cũng là hủy session thôi , không khác gì đâu

  7. #7
    Trích dẫn Gửi bởi vietlamdownload
    Trường hợp ngoại lệ này nằm ở sever phải không bạn? Chứ mình nghĩ khi end session thì mình chuyển trạng thái cũng ok mà.
    Trích dẫn Gửi bởi quangnh89
    Thế thì lúc connect thành công thì thiết lập cờ bằng 1
    lúc connection bị đóng hoặc timeout thì thiết lập = 0 và kick user đó ra
    Mình không rõ lắm, vì mình chỉ làm bên winform thôi. Sorry.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi iamonlining
    Mình không rõ lắm, vì mình chỉ làm bên winform thôi. Sorry.
    Mình ko rõ lắm....
    Nếu hiện tại mình đang đăng nhập rồi. (máy 1)

    Một máy khác cũng đăng nhập nữa..... (máy 2)

    Thì máy đăng nhập mới phải log in được.(tức máy 2) Và ở (máy 1) sẽ thông báo là có máy khác đang log in vào tài khoản này.
    Vui lòng đăng nhập lại.
    ------------------------------->>> tất nhiên điều tương tự sẽ như vậy với (máy 2) nếu máy 1 đăng nhập lại.

    ===============================================
    Giải quyết:
    Khi mà có một user đăng nhập thành công. Sẽ tạo ra một session (có timeout là 10' chẳng hạn).
    - Session này đang ở server. vậy khi máy 2 đăng nhập vào... thì tạo session nữa.... rồi làm ntn????
    Các bạn giải thích ở trên khó hiểu quá... Ai biết chỉ rõ thêm nhé! Mình cũng muốn tìm hiểu về cái này.


    - giả sử. Mình có một browser. Mình muốn khi đăng nhập. họ chỉ làm việc trong một tab(một cửa số) làm việc.... Ko thực hiện việc select link theo kiểu mở liên kết bằng cửa sổ mới.
    Trong trường hợp này. Thì thực hiện như thế nào????[IMG]images/smilies/21.gif[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •