【发布时间】:2017-08-29 07:57:15
【问题描述】:
我的程序是一个 TCP 套接字服务器,它应该由一个命令应答系统通过网络进行管理。命令(请求)-应答系统不是问题:客户端发送数据包,服务器接收并生成响应。数据包只是一个字节序列。
问题是我必须创建一个简单的帐户系统。我的服务器应该存储和管理两种帐户类型:“管理员”和“简单用户”。因此我应该拥有这些东西:一个注册、身份验证和一个密码存储系统。如何在 Qt5 上简单地做到这一点?例如,我可以简单地通过网络发送用户名和密码(或密码哈希),但是如何以正常方式在服务器上初始创建管理员帐户?我没有严格的安全要求,但我想创建一个有意义的正常系统。
【问题讨论】:
-
不确定 Qt 部分,但您打算如何跟踪会话?使用 HTTP 是一种选择吗?这将大大简化登录和会话处理。如果不是,我建议您查看其他会话实现(也许为经过身份验证的连接生成令牌......)。身份验证本身可以是nonce-based
-
最简单的方法:管理员凭据应该通过服务器端的一些配置文件进行预定义。作为额外的保护,您可能会强制用户在首次登录时更改密码。另一种方式:许多 CMS 为首次登录的用户提供完全访问权限 + 安装步骤。顺便说一句,您的问题根本与 Qt 无关 :)
-
@DmitrySazonov 谢谢,好主意!您可以将其写为答案,我会接受)。这是本地网络中多台台式 PC 之间的系统。现在我要将系统设置为预定义的配置文件 + 强制管理员在首次登录时更改密码。但也许只是计算机上的一个配置文件就足够了。
标签: qt network-programming qt5 account qtcpsocket