服务器客户端在同一网络上共享文件C#

时间:2013-08-03 16:47:52

标签: c# client-server sharing

  • 地图驱动器
  • C#
  • 服务器和客户端位于同一网络

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

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

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

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

1 个答案:

答案 0 :(得分:1)

我建议不要使用密码。您不希望存储它们,处理更改并冒险让它们离开。如果客户端程序可以使用某些内容,则通常可供用户使用。您无法信任客户或用户。

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

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