java - java游戏客户端/mysql数据库的认证机制

标签 java c++ authentication handshake

我需要弄清楚如何最好地验证从 C++ 游戏客户端连接到另一台服务器上的 mySQL 数据库的用户,我计划编写一个 Java Web 服务来完成此任务。

安全是首要考虑因素,我需要确保通过网络传输的数据已加密,因此我将利用 SSL(最初我考虑使用 ws-security 进行消息级加密,但我认为它的开销太大).

我真正需要弄清楚的是我应该提供什么样的身份验证机制。这些用户将提供用户名和密码,并将向服务发出网络请求。

我还没有决定该服务应该是传统的 SOAP Web 服务还是 RESTful 服务。 rest 背后的整个想法是使服务器无状态,并且由于客户端基本上将与服务建立 session ,所以我看不出在这里使用 REST 有什么意义。

说了这么多,我真正需要确定的是如何准确地执行握手以及如何保持 session 。

是否有任何流行的框架提供 API 来针对 mySQL 数据库执行此操作?

客户端将再次向服务器提供一个 UN/PW,服务器需要对其进行解密(SSL 应该负责),根据存储在 mysql 数据库中的帐户信息对它们进行身份验证,然后返回某种哈希或类似的东西,以便用户的 session 可以持续存在,或者用户不必再登录即可发出其他请求。

谁能推荐一个框架/一些阅读 Material 让我浏览一下?

最佳答案

让事情尽可能简单。

HTTP 已经是无状态的,登录后继续 session 的想法已经确立( session cookie)。使用此范例,您将不会遇到任何麻烦。

您还可以获得非常轻量级和开放的通信协议(protocol)以及许多用于轻松序列化/反序列化常见 REST 有效负载(如 JSON 或 XML)的优秀库的好处。

REST 还意味着您可以很容易地将同一台服务器与其他客户端一起使用。

关于java - java游戏客户端/mysql数据库的认证机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8913956/

相关文章:

c++ - bool 表达式的异常使用

apache - 如何在 apache 上强制进行 SSL 重新协商以进行测试

java - 提高java/android中TCP套接字的传输速度

java - 如何对通用数组进行排序?

c++ - multimap 像拼接 - 添加第三个图像

python - 允许单个 IP 使用 HTTPBasicAuth 通过 Flask 进行身份验证

javascript - Firebase var user 在弹出 Facebook 登录后返回 "null"

java - Java中程序的可执行文件进行镜像

java - 如何使用 javascript 在警告框中显示特殊字符?

c++ - 文件下载器建议