| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using System;
- using System.Collections.Generic;
- using System.Web;
- using System.Runtime.InteropServices;
- namespace CG67.FicheCollege.Tools
- {
- /// <summary>
- /// Ensemble de méthodes pour gérer l'impersonification
- /// </summary>
- public static class Impersonation
- {
- /// <summary>
- /// Permet de créer un jeton d'authentification
- /// </summary>
- /// <param name="principal">Le compte à utiliser</param>
- /// <param name="authority">Le domaine du compte</param>
- /// <param name="password">Le mot de passe</param>
- /// <param name="logonType">Le type d'ouverture de session</param>
- /// <param name="logonProvider">Le fournisseur de jeton</param>
- /// <param name="token">Le jeton à récupérer</param>
- /// <returns>Un booléen indiquant le résultat de l'opération</returns>
- [DllImport("advapi32.dll", SetLastError = true)]
- public static extern bool LogonUser(
- string principal,
- string authority,
- string password,
- LogonSessionType logonType,
- LogonProvider logonProvider,
- out IntPtr token);
- /// <summary>
- /// Ferme un handle sur un objet
- /// </summary>
- /// <param name="handle">Un handle valide pour ouvrir un objet</param>
- /// <returns>Retourne un résultat différent de 0 en cas de réussite</returns>
- [DllImport("kernel32.dll", SetLastError = true)]
- public static extern bool CloseHandle(IntPtr handle);
- }
- }
|