Security “如何访问”;“共享文件夹”;安全地在Delphi 10.1柏林?

Security “如何访问”;“共享文件夹”;安全地在Delphi 10.1柏林?,security,delphi,restriction,delphi-10.1-berlin,shared-directory,Security,Delphi,Restriction,Delphi 10.1 Berlin,Shared Directory,我们的应用程序正在使用共享文件夹进行导入或导出数据操作。许多工作站从应用程序访问这些共享位置 我们需要保护共享文件夹以及从应用程序访问此共享文件夹的进程 我们试图编写一个示例应用程序,尝试使用网络服务帐户连接到共享文件夹,但失败了。使用标准域用户时也是如此 代码段: Result := LogonUser(PChar(User), PChar(Domain), PChar(Password), LogonType, LogonProvider, TokenHandle); if R

我们的应用程序正在使用
共享文件夹
进行导入或导出数据操作。许多工作站从应用程序访问这些共享位置

我们需要保护共享文件夹以及从应用程序访问此共享文件夹的进程

我们试图编写一个示例应用程序,尝试使用
网络服务
帐户连接到共享文件夹,但失败了。使用
标准域用户时也是如此

代码段:

Result := LogonUser(PChar(User), PChar(Domain),
    PChar(Password), LogonType, LogonProvider, TokenHandle);

  if Result then
  begin
    Result := ImpersonateLoggedOnUser(TokenHandle);
  end;
有人对保护此工作流有任何其他建议吗

更新: 我尝试了使用
网络服务
帐户,但也失败了

>runas /user:"NT AUTHORITY\Network Service" "C:\Windows\system32\notepad.exe"
Enter the password for NT AUTHORITY\Network Service:
RUNAS ERROR: Unable to acquire user password

您需要使用windows api函数来添加共享。 请参阅链接页面底部的示例代码。 添加后,您可以访问该共享文件夹


使用访问后,不要忘记删除连接。

共享文件夹是否授予您运行应用程序的“计算机”的访问权限?@SertacAkyuz-之前,每个人都可以访问它。但现在我们正在限制访问。我试图在我自己的机器上执行上面的示例应用程序。我也提供了“网络服务”,但没能成功。我早些时候已经通过了,它工作得很好。但我正在寻找另一种方法,它不需要在某些位置或数据库中存储用户名和密码。访问共享文件夹的其他方法…创建在正确帐户中运行的服务。将您的客户机连接到该服务。但问题仍将停留在另一个层面。客户端还应该进行身份验证。