BAuthentication - Esempi
Esecuzione con identità Windows
using B.BSecurity;
bool completed = BAuthentication.ImpersonateAndExecute(
serviceUser,
domain,
password,
() =>
{
File.Copy(sourcePath, protectedDestinationPath, overwrite: true);
});
Il delegate viene eseguito all'interno di WindowsIdentity.RunImpersonated. true indica che autenticazione, impersonazione ed elaborazione sono terminate; un fallimento delle API di autenticazione restituisce false. Le eccezioni sollevate dal delegate non vengono intercettate.
Elaborazione asincrona
bool completed = await BAuthentication.ImpersonateAndExecuteAsync(
serviceUser,
domain,
password,
async () =>
{
await ProcessProtectedFilesAsync();
});
Validazione delle credenziali
bool valid = BAuthentication.ImpersonateValidUser(
serviceUser,
domain,
password);
La classe usa LogonUser con logon interattivo e le API native Windows. Su altri sistemi operativi i metodi generano PlatformNotSupportedException. Le credenziali devono provenire da una sorgente sicura e non essere registrate nei log.
