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