在賬戶表的基礎上,我新建了一個賬戶account_session表,用來記錄登錄賬戶的account_id和最新一次登錄成功用戶的session_id,然後首先要修改登錄方法:每次登錄成功後,要將登錄用戶信息寫入Session的同時還要更新account_session表裡相應賬戶的session_ ...
在賬戶表的基礎上,我新建了一個賬戶account_session表,用來記錄登錄賬戶的account_id和最新一次登錄成功用戶的session_id,然後首先要修改登錄方法:每次登錄成功後,要將登錄用戶信息寫入Session的同時還要更新account_session表裡相應賬戶的session_id(當然,如果是第一次登錄時,進行的便是插入動作),然後要修改獲取當前用戶信息的方法,在裡面要做兩重判斷,首先,看當前會話是否存在登錄用戶信息,如果沒有,則肯定是未登錄,不再贅述,如果有,還要再進一步要用當前會員里存的account_id去account_session表查詢最新的session_id,與當前會員中的session_id作比較,如果是一致的,說明當前會話是最新的會話,登錄狀態正常,如果不一致,說明在當前登錄會話創建後,被新的登錄會話覆蓋掉了,當前的登錄會話已經失效,需要重新登陸,,至此,限制賬戶同一時間單終端登錄功能便實現了。