[請益] 一個想法:Google帳號登入 + Session限制

作者: checktime (華哥)   2014-05-31 13:16:58
我是新手 已在http://www.000webhost.com/ 申請好帳號 有支援PHP MySQL
我想做一個客戶登入網頁 要結合goole帳號登入
是否我可以使用Session的方式 來限制同一時間 只允許一個google帳號登入?
(同一帳號 同時登入的話 就會把前面的踢掉)
謝謝回答!
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-05-31 21:13:00
你資料表要能紀錄現在誰正在登入才能這樣限制
作者: banjmin (HD)   2014-05-31 22:18:00
如果是JAVA 實作HttpSessionAttributeListener就可以做到不過觀念應該是互通的 new 一個Hashmap紀錄 IP 帳號有Session加入的時候檢查是否已經登入 若有 移除舊Session新的IP寫入hashmap注意要hashmap要singleton 這個技巧的關鍵字 單點登入更複雜的情況 登入時更改hashmap中有紀錄的資料也要抓得到更改的event進而更新hashmap中資料同理 登出也要抓得到event 移除hashmap中的資料不然你可以學laravel的機制 登入時session產生的cookie值登入時也檢查DB是否有這個remember_token決定要新增剔除跟一樓所說的是同種作法
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-05-31 23:35:00
講那麼多hashmap singleton 不同ip間的session根本不互通 php也沒有簡單方法讓所有process共享儲存 請問你要怎麼實做hashmap singleton 到頭來跟用db不是一樣
作者: banjmin (HD)   2014-05-31 23:58:00
我兩種方法都說啦 怎麼實作資料結構 design pattern個人功力的問題JAVA的方法 出自王者歸來 也不是我瞎掰的 PHP你覺得DB好你就用也可以阿 沒有人說不行阿差別大概就是一個測試的時候可以沒有DB 一個就一定要當然 對使用者來說 看起來效果應該是一樣的若真的要問PHP實作hashmap等等 我不相信這個google不到那根本不是問題 了解這個機制要的workflow才是重點一件事情本來就可以有很多實作方法 多了解有何壞處呢?
作者: up9cloud (九天)   2014-06-01 02:32:00
你是要限同ip還是限同session?上面兩位大大已經回答了限同ip的做法如果只是限session,可以在登入時把ga資訊記到session裡每次登入檢查就好o.o?

Links booklink

Contact Us: admin [ a t ] ucptt.com