You can impersonate a registered user to access the data folder using LogonUser , ImpersonateLoggedOnUser and RevertToSelf .
Try this sample
{$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');
source share