Identità pool di applicazioni IIS non avere i permessi di scrittura ‘Temporanea ASP.NET File’

Sto tentando di lanciare un sito web da un “pool di applicazioni viene’ chiamato ‘SomeAppPool’ che usa un ‘identità pool di applicazioni’ e quando io ricevo il seguente errore quando lancio il sito web:

L’identità corrente (IIS_APPPOOL\SomeAppPool) non ha accesso in scrittura a “c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET File’

Mi sto lanciando il sito web con l’Uso Locale del Server Web IIS’ interno di Visual Studio 2012 (senza debugger) in Windows 8.

La prima cosa che ho notato è che la ‘Temporanea ASP.NET File cartella non anche
esiste quindi non c’è nulla da impostare autorizzazioni di protezione.

Il secondo problema è che, anche se c’era una cartella, quali autorizzazioni dovrei impostare? Sto assumendo che non avrei dovuto impostare le autorizzazioni per ogni utente creato attraverso ‘identità pool di applicazioni’. Giusto?

Le attuali soluzioni ho visto semplicemente suggerire di impostare l’utente a ‘Servizio di Rete’
ma questo sembra rompere l’isolamento del sito web per il quale ‘identità pool di applicazioni’
è stato introdotto.

  • Sto avendo esattamente lo stesso problema. Siete stati in grado di trovare una soluzione per questo?
  • No, purtroppo non ho trovato nulla per risolvere questo problema. Sto iniziando a pensare che non vi è infatti alcuna soluzione. Trovo difficile credere però che Microsoft dovrebbe aggiungere l ‘identità pool di applicazioni’ caratteristica, senza considerare l’impatto sulla .NET applications.
  • Devo aggiungere un’esplicita risposta che dice di non usare ‘ApplicationPoolIndentity’ con .NET app?
  • Sembra il tuo istinto sono corrette. Servizio di rete non è preferito “, perché i servizi in esecuzione come Servizio di Rete può interferire con altri servizi che possono essere eseguiti sotto la stessa identità” al seguente link: (iis.net/learn/manage/configuring-security/…).
InformationsquelleAutor karmasponge | 2014-03-31



8 Replies
  1. 76

    Questo ASP.NET risposta a forum, non confermata nel suo thread, era la soluzione per me. E ‘ anche a basso impatto: non provare a ri-registrazione di IIS o fornire all’utente pericoloso privilegi. Per riassumere la risposta:

    1. Aprire una finestra di Comando come amministratore (Start /Programmi /Accessori, clicca destro su Prompt dei comandi e scegli “Esegui come amministratore”).
    2. Immettere il seguente comando:

      C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Aspnet_regiis.exe -ga domain\user

    Sostituire il dominio e l’utente per domain\user nell’esempio di cui sopra. Che è tutto.

    La documentazione di Microsoft per Aspnet_regiis.exe è qui. Nota che la documentazione per la -ga interruttore si riferisce ad un bug nelle versioni 3.5 e versioni precedenti, dove non funziona con gli account locali. Se leggo correttamente, gli account di dominio supportate per tutte le versioni e gli account locali sono supportati a partire con il Framework 4.0.


    Aggiornamento 6 giugno 2017: Per Windows 8 e soprattutto, considerare il dism comando, invece. È coperto di questo MODO di rispondere. Grazie a @codebrain per il suggerimento.


    Aggiornamento 7 luglio 2015: @Vertigo gentilmente commentato che questa risposta lavorato anche per la NETWORK SERVICE conto .NET 2.0 in 2008R2/2012, quindi il mio disclaimer sopra circa gli account locali pre-4.0 può essere sbagliato.

    Se qualcun altro trova che questo funziona per un account locale sotto .NET 3.5 o versioni precedenti, per favore, sentitevi liberi di modificare la mia risposta o notare nei commenti, sarebbe un grande aiuto per gli altri che potrebbero verificarsi lo stesso problema.

    • Usato la soluzione per creare mancanti cartelle temporanee per la versione 2.0 in 2008R2/2012. Di fronte problemi con il “SERVIZIO di RETE” account (anche se non è veramente account locale).
    • Grazie per l’aggiornamento @Vertigo! La documentazione è stata difficile per me seguire (non è proprio la mia zona di specialità) quindi il tuo commento migliora la mia risposta immensamente; ho veramente apprezzare.
    • Assicurarsi di inserire il domain\user parte con le virgolette se contiene uno spazio, ad esempio, ... -ga "IIS AppPool\DefaultAppPool"
    • Se questo non funziona, provare a C:\Windows\Microsoft.NET\Framework\v4.0.30319\Aspnet_regiis.exe -ga domain\user invece. (non versione a 64 bit)
    • si può aggiornare la risposta con dism equivalente ?
    • Grazie @codebrain; ottima proposta! Ho scoperto che qualcuno ha già fornito una risposta, così ho collegato alla loro risposta, invece.

  2. 7

    Lungo con il massimo votato soluzioni, si Prega di controllare lo spazio su disco e assicurarsi che ci sia abbastanza spazio su disco disponibile.

    Ho appena imbattuto in questo problema su uno dei nostri server di produzione e che era legato a spazio su disco insufficiente.

    • Wow questo è stato l’esatto stesso caso che è successo al nostro server di Produzione. Per fortuna sono riuscito a trovare una risposta entro pochi minuti 😅 I registri di stato a mangiare su lo spazio su disco
  3. 6

    Ho affrontato lo stesso problema. Ho controllato il percorso c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ cercando Temporary ASP.NET Files, ma non c’era alcuna cartella con questo nome. così ho creato una nuova cartella manualmente il nome di Temporary ASP.NET Files e problema risolto.

    In modo da garantire il citato percorso esistente.

    • Se il problema persiste fai clic destro sulla cartella => proprietà => sicurezza => edit => add => IIS_USERS
    • Questo ha fatto il trucco per me. Una volta che ho creato la cartella che il problema è stato risolto.
  4. 5

    Ho risolto il problema aggiungendo l’utente utilizza il pool di applicazioni per IIS_IUSRS gruppo.

    • Questo ha funzionato per me…. Grazie per la pubblicazione!
  5. 1

    Essere in C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319 provare a eseguire il aspnet_regiis.exe comando.

    In genere le autorizzazioni devono essere impostati. Se Windows Aggiungi/Rimuovi Programmi accadere, o se i nuovi .NET versioni installate, queste cose ripristinare un po’. In esecuzione della aspnet_regiis.exe dovrebbe aiutare non.

    Inoltre, garantire che si sta eseguendo Visual Studio come Amministratore.

    • Se si tenta di eseguire ‘aspnet_regiis.exe -I’ per la v4.0.30319 quadro di Windows 8 ho un messaggio di errore dicendo che la sua non è supportato. Vedere questo articolo: c-sharpcorner.com/UploadFile/7e39ca/….
    • Ho il programma di installazione di Visual Studio sempre eseguito come Amministratore, però in questo scenario non vedo perché che farebbe alcuna differenza (come sono in esecuzione in IIS).
  6. 0

    Ho appena imbattuto in questo e quello che ho fatto è stato creare un nuovo account, che permette di dire la sua “Webby”.

    In ISS, andare in Impostazioni avanzate della pagina e cambiare il “Percorso Fisico Credenziali” per il Tipo di account. Il Percorso campo di cui sopra che ha la pagina web directory; aprire questa cartella in Esplora risorse e aggiungere Webby con autorizzazioni di Modifica. Sotto “Impossibile Richiesta di Analisi” c’è una directory dei registri; aggiungere modificare anche a questo e impostato su “Enabled” a true (si può disattivare in seguito, ma assicurarsi che funzionerà).
    A questo punto si può provare il vostro sito e si dovrebbe sicuramente ottenere il messaggio di errore, perché l’utente che si sta utilizzando.

    L’identità corrente (IL\Webby) non ha accesso in scrittura a “C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET i File’.

    Ora, per risolvere il tuo problema, hai bisogno di andare per la ‘C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET File directory e aggiungere Webby a quella, di nuovo Modificare funziona.

    La soluzione di utilizzare un conto speciale solo per i siti web è una buona idea. Si tratta di un conto reale (non virtuale come ApplicationPool) e Windows non confondersi (…come facilmente).

    Spero che questo aiuta.

  7. 0

    In IIS7, ho cliccato sul destro la directory virtuale, rimosso l’applicazione e ha aggiunto di nuovo. Che fissa per me.

Lascia un commento