我们的应用程序正在使用Shared Folder
进行导入或导出数据操作。许多工作站从应用程序访问这些共享位置。
我们需要保护共享文件夹以及从应用程序访问此共享文件夹的过程。
我们尝试编写一个示例应用程序,尝试使用Network Service
帐户连接到共享文件夹,但我们没有这样做。同样适用于Standard Domain User
。
代码段:
Result := LogonUser(PChar(User), PChar(Domain),
PChar(Password), LogonType, LogonProvider, TokenHandle);
if Result then
begin
Result := ImpersonateLoggedOnUser(TokenHandle);
end;
任何人都有关于保护此工作流程的其他建议吗?
更新:
我尝试过使用Network Service
帐户的可能性,但这也失败了。
>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
答案 0 :(得分:0)
您需要使用windows api函数WNetAddConnection2来添加共享。 请参阅链接页面底部的示例代码。 添加后,您可以访问该共享文件夹。
使用WNetCancelConnection2访问后,请不要忘记删除连接。