2011-08-13 38 views
0

我正在为基本聊天程序编写一个简单的协议。 我的问题是:一旦客户端通过提供用户名和密码进行身份验证,我是否也应该要求客户端在它的后续数据包中提供一个令牌?还是足以将其身份验证状态保存在服务器的表中,并且从不指望客户端在断开连接并重新连接之前证明它?客户机/服务器应用程序的身份验证策略

回答

0

在客户端提供正确凭证后,您不应要求对任何进一步消息进行身份验证。如果您的嫌疑人,每条消息都应该包含身份验证信息,并且在此实现中,您不需要通过“登录”进行身份验证 - 只需要在每条消息上提供安全信息。

成功登录后,您可能需要用户凭据的唯一情况是更新客户端信息时(由客户端自己),其中包括更改密码和其他“用户”信息。当“更改密码”请求启动时,您必须要求输入密码。

确保身份验证附加了一些加密,以便任何人都不能拦截该消息。你也可以有一些关键字(比如几个字节的字符串),你可以验证每个传入消息以确保消息来自正确的客户端(这是根据你的原始设计,而不是我在第一段中给出的替代设计)。

相关问题