Prima di tutto, mi risulta che sto usando ASP.NET 4.5 con DefaultAppPool (4.0 integrato). Ho anche configurato l'accesso anonimo all'utente DefaultAppPool. Ho dato tutto l'accesso a DefaultAppPool. Il metodo System.Security.Principal.WindowsIdentity.GetCurrent()
mi dà lo stesso utente. Ma quando viene eseguita la seguente riga, mi viene restituita l'eccezione Access to the path 'XXXX' is denied.
. Quindi, a scopo di test, ho dato tutti i diritti all'utente EveryOne
, ma continuo a ricevere lo stesso errore. Ecco la riga di codice. Si noti la TRUSExtractToFile Errore di accesso negato?
using (ZipArchive archive = new ZipArchive(zipStream))
{
foreach (ZipArchiveEntry file in archive.Entries)
{
file.ExtractToFile(location,true);
}
}
Ecco l'StackTrace,
[UnauthorizedAccessException: Access to the path 'XXX' is denied.]
System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +10793558
System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) +1352
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) +65
System.IO.Compression.ZipFileExtensions.ExtractToFile(ZipArchiveEntry source, String destinationFileName, Boolean overwrite) +96
XX.XX.XX.ExtractZipFile(Stream zipStream, String location) in XX.cs:44
XX.XX.XX.XX.XX.XX.ExtractZipFile(Stream zipStream, String location) in XXX.cs:17
L'utente DefaultAppPool ha accesso (autorizzazione di lettura/scrittura) al percorso in questione? – Tim
@Tim, Sì Controllo completo. Inoltre ho dato l'accesso completo a tutti gli utenti. – user960567
L'utente DefaultAppPool ha accesso Execute/Traverse su tutte le cartelle nel percorso? –