使用ci框架來(lái)寫(xiě)web頁(yè)面,這個(gè)web頁(yè)面和GatewayWorker建立websocket連接,那么怎么安全的確定是這個(gè)用戶建立的連接?
ci鑒權(quán)后在存儲(chǔ)中(mysql/redis/memcache等)存儲(chǔ)一個(gè)key(key可以是session_id),值為用戶信息。 然后ci把這個(gè)key存儲(chǔ)到瀏web頁(yè)面js變量里面,websocket鏈接GatewayWorker后把這個(gè)key發(fā)給GatewayWorker,GatewayWorker從存儲(chǔ)中讀取這個(gè)key,如果存在則登錄成功,并能獲得用戶名,不存在則代表沒(méi)登錄或者非法鏈接。
實(shí)際上原理和session差不多,只不過(guò)把sessionid通過(guò)websocket傳到了服務(wù)端。
嗯,謝謝你,key值估計(jì)還需要一定的有效期,才比較合理
不客氣