92 messaggi dal 11 aprile 2007
Salve a tutti, è possibile scrivere tramite un'applicazione asp.net un file su una unità di rete?

Dim percorso = "Q:\pippo.txt"
Dim sw As StreamWriter = New StreamWriter(percorso, True, System.Text.Encoding.Default)
sw.WriteLine(" - Data: " + DateTime.Now.ToString())
sw.Close()

dove Q: è una unità di rete a cui ho dato tutti i permessi a tutti gli utenti , ma l'errore è sempre quello:


Accesso al percorso 'Q:\pippo.txt' negato.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.UnauthorizedAccessException: Accesso al percorso 'Q:\pippo.txt' negato.

ASP.NET non è autorizzato ad accedere alla risorsa richiesta. Provare a concedere diritti di accesso alla risorsa all'identità di richiesta di ASP.NET. ASP.NET dispone di un'entità di processo di base (in genere {MACHINE}\ASPNET su IIS 5 o Network Service su IIS 6) che viene utilizzata se l'applicazione non esegue la rappresentazione. se l'applicazione esegue la rappresentazione tramite <identity impersonate="true"/>, l'identità sarà rappresentata dall'utente anonimo (in genere IUSR_MACHINENAME) o dall'utente autenticato che ha eseguito la richiesta.

Per concedere l'accesso a un file ad ASP.NET, fare clic su di esso con il pulsante destro del mouse in Esplora risorse, scegliere Proprietà e fare clic sulla scheda Protezione. Fare clic su "Aggiungi" per aggiungere l'utente o il gruppo appropriato. Evidenziare l'account ASP.NET e selezionare la casella relativa all'accesso desiderato.

Mi sembra strano che non si possa salvare un file su di una posizione diversa da quella su cui gira IIS, ad esempio su di un file file server, magari accessibile da altre applicazioni che possano prendere file caricati tramite web...

Il fatto è che ho provato a mappare una risorsa di rete condivisa sulllo stesso server su cui gira IIS, dando controllo completo a tutti gli utenti /gruppi disponibili, ma nulla da fare.

grazie.
Ciao
Beh, il messaggio di errore mi sembra chiarisca bene il problema. Hai dato i permessi corretti all'utente?

Fammi sapere.
Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it
92 messaggi dal 11 aprile 2007
Ciao e grazie.
Cosa intendi per permessi corretti?
devo inserire gli utenti
ASPNET
IUSR_MACHINENAME
etc

in qualche gruppo particolare?

Grazie.
Devi dare i permessi all'utente impostato nel tuo application pool, sulla folder in cui desidere scrivere.

Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it
92 messaggi dal 11 aprile 2007
Ho fatto ma nulla di fatto; non riesco a capire.
92 messaggi dal 11 aprile 2007
Provando du una dir locale, se utilizzo come percorso c:\tmp\pippo.txt dove tmp è la dir condivisa, funziona, se invece utilizzo \\nomeserver\tmp\pippo.txt ho accesso negato.
L'utente dovrebbe essere di dominio o al max deve esistere un utente uguale sulla macchina della share con lo stesso username e la stessa password.

Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it
92 messaggi dal 11 aprile 2007
se utilizo il percorso di rete "\\nomeserver\tmp\pippo.txt" funziona mentre utilizzando l'unità di rete mappata sullo stesso percorso no. :-(

Grazie dell'aiuto.
Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.