如何在Delphi 10.1 Berlin中安全地访问“共享文件夹”?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Delphi 10.1 Berlin中安全地访问“共享文件夹”?相关的知识,希望对你有一定的参考价值。
我们的应用程序使用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 AUTHORITYNetwork Service" "C:Windowssystem32
otepad.exe"
Enter the password for NT AUTHORITYNetwork Service:
RUNAS ERROR: Unable to acquire user password
你需要使用windows api函数WNetAddConnection2来添加共享。请参阅链接页面底部的示例代码。添加后,您可以访问该共享文件夹。
访问WNetCancelConnection2后不要忘记删除连接。
以上是关于如何在Delphi 10.1 Berlin中安全地访问“共享文件夹”?的主要内容,如果未能解决你的问题,请参考以下文章
Delphi 10.1 Berlin Starter Edition
Delphi 10.1 Berlin 与 Delphi 10 Seattle 共存
Delphi 10.1 Berlin 与 Delphi 10 Seattle 共存
BaaS with Kinvey and Delphi 10.1 Berlin
SQLDirect 6.5 Source (Delphi 5-10.1 Berlin)
Delphi XE10.1 引用计数(Delphi XE10.1 Berlin终于增加了对接口的Weak, UnSafe的支持)