B-Arts DocumentationIndice generale

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.