예제 #1
0
 internal static void ExecuteWithImpersonation(WindowsIdentity identity, ExecuteWithImpersonationDelegate code)
 {
     //http://msdn.microsoft.com/msdnmag/issues/05/09/SecurityBriefs/
     // Temporarily impersonate the original user.
     using (WindowsImpersonationContext wic = identity.Impersonate())
     {
         try
         {
             // Access resources while impersonating.
             code.Invoke(identity);
         }
         finally
         {
             // Revert impersonation.
             wic.Undo();
         }
     }
 }
예제 #2
0
 internal static void ExecuteWithImpersonation(WindowsIdentity identity, ExecuteWithImpersonationDelegate code)
 {
     //http://msdn.microsoft.com/msdnmag/issues/05/09/SecurityBriefs/
     // Temporarily impersonate the original user.
     using (WindowsImpersonationContext wic = identity.Impersonate())
     {
         try
         {
             // Access resources while impersonating.
             code.Invoke(identity);
         }
         finally
         {
             // Revert impersonation.
             wic.Undo();
         }
     }
 }