2011-08-13 35 views
0

我正在爲基本聊天程序編寫一個簡單的協議。 我的問題是:一旦客戶端通過提供用戶名和密碼進行身份驗證,我是否也應該要求客戶端在它的後續數據包中提供一個令牌?還是足以將其身份驗證狀態保存在服務器的表中,並且從不指望客戶端在斷開連接並重新連接之前證明它?客戶機/服務器應用程序的身份驗證策略

回答

0

在客戶端提供正確憑證後,您不應要求對任何進一步消息進行身份驗證。如果您的嫌疑人,每條消息都應該包含身份驗證信息,並且在此實現中,您不需要通過「登錄」進行身份驗證 - 只需要在每條消息上提供安全信息。

成功登錄後,您可能需要用戶憑據的唯一情況是更新客戶端信息時(由客戶端自己),其中包括更改密碼和其他「用戶」信息。當「更改密碼」請求啓動時,您必須要求輸入密碼。

確保身份驗證附加了一些加密,以便任何人都不能攔截該消息。你也可以有一些關鍵字(比如幾個字節的字符串),你可以驗證每個傳入消息以確保消息來自正確的客戶端(這是根據你的原始設計,而不是我在第一段中給出的替代設計)。

相關問題