Qt 简单帐户控制系统

Qt 简单帐户控制系统,qt,network-programming,qt5,account,qtcpsocket,Qt,Network Programming,Qt5,Account,Qtcpsocket,我的程序是一个TCP套接字服务器,它应该由命令应答系统通过网络进行管理。命令(请求)-应答系统不是问题:客户端发送数据包,服务器接收数据包并生成响应。数据包只是一个字节序列。 问题是我必须创建一个简单的帐户系统。我的服务器应该存储和管理两种帐户类型:“管理员”和“简单用户”。因此我应该有这样的东西:一个注册、认证和一个密码存储系统。如何在Qt5上简单地做到这一点?例如,我可以通过网络发送用户名和密码(或密码散列),但如何以正常方式在服务器上创建管理员帐户呢?我没有严格的安全要求,但我想创建一个正

我的程序是一个TCP套接字服务器,它应该由命令应答系统通过网络进行管理。命令(请求)-应答系统不是问题:客户端发送数据包,服务器接收数据包并生成响应。数据包只是一个字节序列。

问题是我必须创建一个简单的帐户系统。我的服务器应该存储和管理两种帐户类型:“管理员”和“简单用户”。因此我应该有这样的东西:一个注册、认证和一个密码存储系统。如何在Qt5上简单地做到这一点?例如,我可以通过网络发送用户名和密码(或密码散列),但如何以正常方式在服务器上创建管理员帐户呢?我没有严格的安全要求,但我想创建一个正常的系统,这是有意义的。

使用QSslSocket获得一个安全的通信层(),因为您将在这个管理链接上交换密码

这里有一个代码的客户机部分示例,Qt5:

在服务器端,在预定义的未使用端口(专用于您的服务)上接受套接字

现在,您可以简单地决定使用随机密码登录,该密码将对应于管理员帐户,并创建一个程序,在基于QSslSocket的安全通道上发送此密码。在接受远程管理之前,服务器必须检查密码


因此,如您所见,必须在使用该服务之前创建管理员。您可以使用基于某些加密手段(OpenPGP、S/MIME等)的私人邮件交换向管理员提供其密码。

使用QSslSocket获得安全通信层(),因为您将在此管理链接上交换密码

这里有一个代码的客户机部分示例,Qt5:

在服务器端,在预定义的未使用端口(专用于您的服务)上接受套接字

现在,您可以简单地决定使用随机密码登录,该密码将对应于管理员帐户,并创建一个程序,在基于QSslSocket的安全通道上发送此密码。在接受远程管理之前,服务器必须检查密码


因此,如您所见,必须在使用该服务之前创建管理员。您可以使用基于某些加密手段(OpenPGP、S/MIME等)的私人邮件交换向管理员提供密码。

最简单的方法:管理员凭据应该通过服务器端的某个配置文件预定义。作为附加保护,您可以强制用户在首次登录时更改密码。另一种方式:许多CMS向第一个登录用户提供完全访问+安装步骤。

最简单的方式:管理员凭据应该通过服务器端的一些配置文件预定义。作为附加保护,您可以强制用户在首次登录时更改密码。另一种方式:许多CMS向第一个登录用户提供完全访问+安装步骤。

不确定Qt部分,但您计划如何跟踪会话?使用HTTP是一种选择吗?这将大大简化登录和会话处理。如果没有,我建议您研究其他会话实现(可能为经过身份验证的连接生成令牌…)。身份验证本身可以是最简单的方式:应该通过服务器端的一些配置文件预定义管理员凭据。作为附加保护,您可以强制用户在首次登录时更改密码。另一种方式:许多CMS向第一个登录用户提供完全访问+安装步骤。顺便说一句,你的问题与Qt完全无关:)@DmitrySazonov谢谢,好主意!你可以写下这个作为答案,我会接受的)。这是本地网络中多台台式PC之间的系统。现在,我将使系统成为预定义的配置文件+强制管理员在首次登录时更改密码。但也许在计算机上只需一个配置文件就足够了。不确定Qt部分,但您计划如何跟踪会话?使用HTTP是一种选择吗?这将大大简化登录和会话处理。如果没有,我建议您研究其他会话实现(可能为经过身份验证的连接生成令牌…)。身份验证本身可以是最简单的方式:应该通过服务器端的一些配置文件预定义管理员凭据。作为附加保护,您可以强制用户在首次登录时更改密码。另一种方式:许多CMS向第一个登录用户提供完全访问+安装步骤。顺便说一句,你的问题与Qt完全无关:)@DmitrySazonov谢谢,好主意!你可以写下这个作为答案,我会接受的)。这是本地网络中多台台式PC之间的系统。现在,我将使系统成为预定义的配置文件+强制管理员在首次登录时更改密码。但也许只要在计算机上安装一个配置文件就足够了,而不是答案。“如何创建管理员帐户?”->“使用QSslSocket”。问题标签是:qtcpsocket。发布的问题通知是关于安全性的:“[…]?我没有严格的安全要求,但我想创建一个正常的系统,这会有意义。”=>我的答案是“使用QSslSocket”,而不是答案。“如何创建管理员帐户?”->“使用QSslSocket”。问题标签是:qtcpsocket。发帖通知是关于安全性的:“[…]?我没有严格的安全要求,但我想创建一个正常的系统,这会有意义。”=>我的回答是“使用QSslSocket”