Posso distriggersre la rappresentazione solo in un paio di istanze

Ho un’app che ha la rappresentazione usata in tutto. Ma quando un utente ha effettuato l’accesso come amministratore, alcune operazioni richiedono che scrivano sul server stesso. Ora se questi utenti non hanno diritti sul server attuale (alcuni non lo fanno) non li lasceranno scrivere.

Quello che voglio fare è distriggersre la rappresentazione per solo un paio di comandi.

C’è un modo per fare qualcosa del genere?

using(HostingEnvironment.Impersonate.Off()) //I know this isn't a command, but you get the idea? 

Grazie.

    Assicurati che il pool di applicazioni abbia i diritti appropriati di cui hai bisogno.

    Quindi, quando si desidera ripristinare l’identity framework del pool di applicazioni … eseguire quanto segue:

     private WindowsImpersonationContext context = null; public void RevertToAppPool() { try { if (!WindowsIdentity.GetCurrent().IsSystem) { context = WindowsIdentity.Impersonate(System.IntPtr.Zero); } } catch { } } public void UndoImpersonation() { try { if (context != null) { context.Undo(); } } catch { } } 

    Non sono sicuro se questo sia l’approccio preferito, ma quando ho voluto farlo ho aggiunto un’istanza di WindowsIdentity e ho chiamato il metodo Impersonate . Ciò consente al codice successivo di impersonare un diverso utente di Windows. Restituisce un WindowsImpersonationContext con un metodo Annulla che ripristina nuovamente il contesto di rappresentazione.

    È ansible distriggersre l’autenticazione per la pagina e quindi impersonare manualmente l’utente autenticato durante il resto del codice.

    http://support.microsoft.com/kb/306158

    Questo ha un riferimento a quest’ultima parte, ma in pratica impersona User.Identity

    Ciò significa che dovrai impersonare all’inizio di ogni chiamata alla pagina, spegnerla quando ne hai bisogno, quindi riaccenderla quando hai finito, ma dovrebbe essere una soluzione praticabile.

    Ho appena finito per dare alle cartelle i permessi di scrittura su “Authenticated Users”