L'account del servizio di rete dovrebbe ricevere le autorizzazioni del file temporaneo per impostazione predefinita?

StackOverflow https://stackoverflow.com/questions/167605

Domanda

Recentemente stavo lavorando per generare un PDF da Crystal Reports attraverso un modulo web. Stava fallendo, che ho determinato essere causato dalle impostazioni delle autorizzazioni nella directory c: \ windows \ temp. Ho concesso all'account del servizio di rete pieno accesso a questa cartella, che ha risolto prontamente il problema. Ma c'è un motivo per cui l'account del servizio di rete non aveva queste autorizzazioni per impostazione predefinita?

Rick Strahl pone questa domanda qui . Sembra che non ci dovrebbero essere problemi con questo, ma Rick non era chiaro sul motivo per cui l'impostazione predefinita è impostata in questo modo.

Web Server è Windows Server 2003

È stato utile?

Soluzione

Oggigiorno, l'opzione predefinita tenderà ad essere quella più sicura. Non credo ci siano altri motivi.

Ho avuto lo stesso problema con te e nel mio ambiente ho appena dato il permesso e sono passato.

Questo post suggerisce che è colpa di Crystal Reports, che fa esplicitamente riferimento a% WINDIR% \ Temp invece di utilizzare un'API come Path.GetTempPath (). In effetti ho visto Path.GetTempPath () restituire% WINDIR% \ Temp durante l'esecuzione con l'account del servizio di rete su Windows 2003.

Altri suggerimenti

Questo post sulla creazione di file temporanei contiene commenti che supportano l'utilizzo della cartella temporanea di Windows.

Un msdn articolo sull'uso dell'account del servizio di rete afferma che "se l'applicazione ASP.NET deve utilizzare file o cartelle in altre posizioni, è necessario abilitare in modo specifico l'accesso " Questo mi dice che la restrizione predefinita alla cartella temporanea non è perché la cartella temporanea è stata individuata, ma che tutte le altre posizioni oltre alla cartella principale IIS sono limitate per impostazione predefinita.

% windows% \ temp non è per tentativi e tentativi generali. È chiaro che Crystal Reports sta abusando di quella directory. Questo succede molto quando gli sviluppatori sono troppo pigri per avviare le loro macchine con un account diverso dall'amministratore.

Ogni utente (incluso il servizio di rete) ha il proprio spazio temporaneo, con diritti di accesso completo, in Documenti e amp; Impostazioni . I vincitori non si comportano come CR e usano i propri spazi temporanei.

In breve, non c'è niente di sbagliato nelle autorizzazioni predefinite su win \ temp. Credo che sia semplicemente pensato per il funzionamento interno di Windows. (Ancora una volta, sarebbe molto meglio per tutti gli interessati, se quella directory non è mai esistita in primo luogo.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top