0
  • 地图驱动器
  • C#
  • 服务器和客户端在同一个网络上

我正在为实验室构建一个小软件。要求测试,实验室技术人员执行测试,输入结果,软件创建报告,将其转换为 pdf,并将它们保存在服务器上的一个名为存档的文件夹中,以便医生登录软件时,他们可以看到表格中的文件,其中包含网格。并且只有从该表单中,才能打开文件。

一切正常,但我需要限制对名为存档文件的访问,以便用户无法手动访问它。我只需要我的软件就可以访问它。

所以我打算做的是,一旦客户端软件登录到服务器软件,我希望服务器软件向客户端软件发送一个用户名和密码,对用户保持隐藏。因为只有客户端软件应该能够创建、删除和更改位于服务器上的存档文件夹中的文件。

如何在该文件上输入用户名和密码?我需要在服务器上创建一个帐户吗?还是有其他方法可以做到这一点?

4

1 回答 1

1

我建议不要使用密码。您不希望存储它们、处理更改并冒着泄露它们的风险。如果某些东西对客户端程序可用,那么它通常对用户可用。您不能信任客户或用户。

为什么不让服务器访问该文件夹?不要授予用户对存档文件夹的任何权限,而是让客户端将文件发送到服务器(通过将此选项添加到服务器的 API)。服务器可以验证用户是否合法(使用您自己的身份验证和授权,如果有的话)并且文件看起来正常,然后将它们放在存档文件夹中。这样,只有运行服务器进程的用户才能访问该文件夹,而您不必弄乱密码和帐户。

另一个想法,如果您不想过多地更改与服务器的 API。创建另一个文件夹,用户可以访问该文件夹。客户端会将文件上传到此文件夹。服务器可以定期扫描文件夹或从客户端获得有关文件的通知,检查文件并将其移动到受保护的存档文件夹。

于 2013-08-03T17:12:12.087 回答