gpt4 book ai didi

delphi - 通过提供凭据以编程方式登录

转载 作者:行者123 更新时间:2023-12-03 15:25:22 25 4
gpt4 key购买 nike

考虑 Windows 用户 A(具有管理权限)和 B(受限访问权限)。还有一个位于服务器上的数据文件夹,只有用户 A 有权访问。

我面临的挑战是通过用户 B 登录 Windows,并通过我的 Delphi 应用程序尝试通过以编程方式提供用户 A 的凭据来访问数据文件夹。

是否有 API 函数可以让我实现这个目标?

最佳答案

您可以使用 LogonUser 模拟登录用户来访问数据文件夹。 , ImpersonateLoggedOnUserRevertToSelf功能。

尝试这个示例

{$APPTYPE CONSOLE}

uses
Windows,
SysUtils;

function ConnectAs(const lpszUsername, lpszPassword: string): Boolean;
var
hToken : THandle;
begin
Result := LogonUser(PChar(lpszUsername), nil, PChar(lpszPassword), LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, hToken);
if Result then
Result := ImpersonateLoggedOnUser(hToken)
else
RaiseLastOSError;
end;

begin
try
ConnectAs('Admin','Password');
//do something here


//terminates the impersonation
RevertToSelf;

except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
readln;
end.

关于delphi - 通过提供凭据以编程方式登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17064672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com