Ok. Qui stiamo provando a configurare un sito Web ASP classico in IIS 7.5 in Windows Server 2008 R2. Esiste una cartella denominata dbc nella directory principale del sito Web e contiene un file che viene utilizzato per leggere e scrivere determinate informazioni durante l'elaborazione di ogni pagina.
Il problema è che se concedo le autorizzazioni di scrittura IUSR e le autorizzazioni di scrittura IIS_IUSRS o le autorizzazioni di scrittura DefaultAppPool, ottengo il "Accesso al percorso 'E: .. \ websiteroot \ dbc \ nomefile.txt' negato"
Ma se concedo a TUTTI l'accesso in scrittura su quella cartella dbc, allora non ottengo alcun errore, tutto sembra perfetto.
Ulteriori informazioni: Il sito Web funziona in modalità Pipeline classica, l'autenticazione anonima è abilitata (forse è l'unica autenticazione abilitata) .. E ho provato l'autenticazione anonima utilizzando l'account IUSR e l'identità del pool di applicazioni. Nel mio caso, ApplicationPoolIdentity è l'identità per l'autenticazione del sito Web. Usiamo un COM + per l'I / O dei file. E classico ASP Server.CreateObject per creare un'istanza di un oggetto da esso. COM + funziona come un servizio di rete.
Pensieri? Non desidero concedere l'autorizzazione di scrittura a TUTTI. Mi sto perdendo qualcosa?
RISOLTO: Ecco cosa ho fatto.
Il mio sito Web chiamato CipherDemo era in esecuzione con AppPoolIdentity in IIS 7.5, che poteva essere individuato da Identity IIS AppPool \ CipherDemo. Ho usato ICACLS per dare autorizzazioni RW su quella cartella.
e il COM + che stava effettivamente eseguendo il file I / O era in esecuzione con l'identità del servizio di rete. Quando stavo usando Process Monitor per tracciare l'errore di accesso negato, si è scoperto che il servizio di rete ha solo un'autorizzazione di lettura su quella cartella.
Ho usato ICACLS "nome utente" / grant: r "NT AUTHORITY \ NETWORKSERVICE" :( OI) (CI) RXW / T per concedere l'accesso in scrittura su quella cartella.
E risolto.
Avevo l'intenzione che dal momento che il sito Web funziona come CipherDemo Identity, questo sarà l'account che verrà utilizzato per accedere al file tramite COM +. Ma è imbarazzante scoprire che COM + funzionerebbe ancora sui propri confini di identità.