台灣最大程式設計社群網站
線上人數
694
 
會員總數:245021
討論主題:188965
歡迎您免費加入會員
討論區列表 >> ASP.NET >> login踢掉前一位使用者
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
login踢掉前一位使用者
價值 : 80 QP  點閱數:163 回應數:4

樓主

雞塊
門外漢
0 1
22 0
發送站內信

請教各位一下
我想讓一個帳號只能有一位登入
如果有第二位登入的話,會踢掉第一位使用者
讓第一位使用者隨便點一個東西會跳回登入頁

我上網查了一下資料 有使用Application 和 session也有人使用Global.asax
但是我不太懂實際用法

我應該是要第一位登入成功後 配一個 Application或session 給使用者嗎

還有系統該怎麼判斷誰是第一位誰是第二位使用者



搜尋相關Tags的文章: [ ASP.net ] ,
本篇文章發表於2019-10-09 09:16
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

Allen
捐贈 VP 給 Allen 檢舉此回應
我直覺做法,是你可以記錄二個值,例如登入成功後, 存放userid, 及另一個流水號(假設是5)
並在application變數(或者資料庫裡)記錄某userid用的流水號是多少

下一人登入相同時,你仍用相同方式, 所以第二位記下了userId, 流水號(例如92), 而且application裡,也記錄了該userId用的是92號

稍後第一人又想存取時, 由於流水號(5)與application的不同(92), 就自動將他登出
本篇文章回覆於2019-10-09 10:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

小魚
檢舉此回應
單機的話是可以這樣記,
不過他是網路的吧?
或許可以用Session或Cookie的方式,
然後正確的值存在資料庫內?
本篇文章回覆於2019-10-11 11:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
1.登入的時候,產生一組新的GUID,假設稱做ChkToken,存入資料庫,並且同時存入Session中
2.每次的Request,都檢查Session中的ChkToken與資料庫中的是否相同
如果不同,代表有新的登入進入,或者已經過期==>就強制登出

大概降子看看是否符合需求

^.^a
本篇文章回覆於2019-10-13 20:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
補充#3
存放ChkToken的資料表,用使用者代號當P Key
也就是單一使用者不會重複多筆,只能單筆
^.^a
本篇文章回覆於2019-10-13 20:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.