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(); } } }
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(); } } }