C#WCF TCP安全性与性能

时间:2014-01-30 08:41:02

标签: c# wcf authentication tcp

我目前正在空闲时间开发一个基于服务器客户端的小游戏,使用C#和WCF与net.TCP。 为了让你了解我的情况,这是我到目前为止所做的事情:

  • 服务器应用程序托管WCF服务,客户端应用程序连接到它。客户端注册服务器存储在列表中的回调对象,并调用方法将消息推送到客户端。
  • 服务器服务包含ConnectDisconnect等自动启动/终止会话的方法。然后,服务器使用会话ID和回调对象来标识客户端并记住它以进行回调。
  • 客户端回调对象包含ObjectCreatedPropertyChanged等方法,当相应的服务器事件发生时,服务器会调用这些方法。
  • WCF服务没有配置安全性,直到现在还可以。但很快我将以客户端可以发送控制消息的方式扩展服务,可能像“菜单输入选择”或“向右移动”。仍然可以使用调用Connect的客户列表来识别客户端,并且技术上可以注意到非法调用,但我不知道这是否是正确的方法。

接下来要考虑的是使用用户名和密码登录。首先,我尝试将Connect方法重构为Connect(string UserName, string Password),但我认为这不是一个好主意,因为密码是未加密的。

所以我用WCF搜索了很多关于用户名/密码身份验证的内容,考虑使用自定义UserNamePasswordValidator实现来检查凭据是否与服务器上的帐户匹配。但我读到你必须使用证书和每个消息身份验证,这对我来说听起来不好,因为服务器和客户端之间会有很多网络交互。

现在我的问题:是否有任何快速安全的方式使用用户名/密码(可能是每个会话)登录,就像在其他已知的基于客户端服务器的游戏中一样?

详细的答案对我的小游戏来说是一个很好的一步,对我的战略的建设性改变表示赞赏,非常感谢。

0 个答案:

没有答案