Access to the path "\\server..." is denied - server remoto

martedì 04 dicembre 2007 - 15.12

erik77 Profilo | Senior Member

Ciao ragazzi,
ho il problema di Scrivere (tramite StreamWriter) un file dall'Applicazione Web (ASP.NET 1.1) su di un server remoto con un path del tip:
\\server.pippo\XLS\...

L'errore che ricevo è il seguente :
Access to the path "\\server..." is denied

Ho già sentito i sistemisti che dicono di aver dato tutte le autorizzazioni del caso, ma sembra che debba percorrere un'altra strada che non è quella di utilizzare lo StreamWriter.


come posso risolvere il problema?

Grazie
Ciaooo

freeteo Profilo | Guru

ciao,
l'errore è abbastanza chiaro, l'utente con cui gira l'applicazione web (tipicamente è "tuopc\aspnet") non è abilitato ad accedere a quella share di rete.
Per questo tipo di esigenze tipicamente conviene usare l'impersonificazione di un utente di windows che abbia effettivametne l'accesso, impostando nel web.config:
.... <system.web> <identity impersonate ="true" userName="mioutente" password ="miapwd" /> ...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

andreapavia Profilo | Senior Member

ok.... ma supponiamo una cosa... io mi sto imbattendo nello stesso problema...

come fa ad esempio a fare questo??????????

io ho un client (qualsiasi in qualsiasi parte del mondo) e volglio che possa caricare un file sul mio sito.....
ovviamente questo client INTESO COME LA CASALINGA DI PERUGIA (nessun dominio) o il un manager della TIM (dominio TIM iperprotetto) come fa a caricare un file??????

io cerco di fare l'upload di un file, mi connetto FTP a server windows (da aspx) e tutto va ok fino a crearmi la nuova directory per la persona che vuole caricare il file e poi?????

Dettagli eccezione: System.UnauthorizedAccessException: Accesso al percorso "C:\Documents and Settings\MIO PC\Documenti\siti\BAND\silvia\slidesilvia.jpg" 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.

come faccio ad aprire il file sul client??????


GRAZIE 1000







freeteo Profilo | Guru

ciao,
come dici tu : "come faccio ad aprire il file sul client??????" la risposta è NON si puo' fare niente sul client, non hai accesso alla macchina locale su cui gira il browser, per motivi di sicurezza e concettualmente lo trovo anche giusto.

Per fare upload di un file su un sito, devi usare il componente html input classico, (fileUpload se usi asp.net) e farti dare il file normalmente.
A quel punto, il file lo copi dove vuoi, ma tu non hai mai accesso a nessuna directory del client, asp.net il client non lo conosce proprio, sa solo che sta ricevendo una richiesta HTTP e la va a processare.


Solo che con questa domanda che mi fai, mi spiazzi nel senso che io avevo capito dal tuo post precedente che il server che riceve il file (quindi tramite pagina asp.net e controllo html) non riesce a scrivere su una sua dir di rete (sua nel senso che se vai sul pc "server" in esplora risorse la trovi).
Questo errore è dovuto al fatto dell'utente con cui gira asp.net, come ti ho spiegato nel post precedente.

Adesso, quando parli di "aprire un file sul client" non capisco piu' come hai organizzato l'applicazione .

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

andreapavia Profilo | Senior Member

molto semplicemente.... volevo farlo via FTP....

via http funziona tranquillamente.... il fatto è che non capisco perche' mi da questa eccizione solo se lo faccio con FTP.....
col save as dell'input type funziona..... con ftp quando le classi ftp cercano di leggere il file (SCRITTO NELL'INPUT TYPE) non hanno accesso al file.....

io credo che anchje il save AS apra in qualche modo il file per trasferirlo.... o in stream o in copy o non so davvero come....

ma non capisco perche' HTTP si e ftp no....

io non ho ancora usato l'uload e l'FTP di 2005 e successivi.... ma credo che alla fine da browser non possa fer nulla.....

e comunque sia.... a rigor di logica anche l'input type file (visto che lo eseguo come controllo server) appartiene a aspnet e anch'esso non dovfebbe avere l'utorizzazione su quel dannato file.....

e comunque sia mi dave lo stesso errore anche con metodo uploadfile.....

freeteo Profilo | Guru

>via http funziona tranquillamente.... il fatto è che non capisco
>perche' mi da questa eccizione solo se lo faccio con FTP.....
>col save as dell'input type funziona..... con ftp quando le classi
>ftp cercano di leggere il file (SCRITTO NELL'INPUT TYPE) non
>hanno accesso al file.....
ma hai aggiunto l'utente ftp con accesso a quella dir (credo che basti l'accesso alla dir come pretezione di windows)?
Perche' ricordo che in passato avevo fatto qualche configurazione del servizio FTP di IIS per abilitare l'utente a scrivere sul path, se non ricordo male pero' bastava darlo alle dir di windows, da gestione risorse per l'utente con cui ti connetti in ftp...ma è passato 1po di tempo quindi non ricordo esattamente.
Cmq verifica sta cosa con un client ftp, che utente/pwd metti? se fai una connessione con .net usando quelle credenziali non puo' essere differente...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

andreapavia Profilo | Senior Member

ciao matteo,,,, le pwd e l'utente sono ok perche' se do il comando di change dir, di create dir, di delete dir, dal browser,,,,
il browser riesce a fare tutto....

tranne caricare un file tramite l'input type.... il file nell'input si becca l'ecczione sopra riportata.....


ps
tra' l'altro caricare il file il l'unica cosa che mi interessa fare...... e l'eccezione la prendo sul client e non sul server....

freeteo Profilo | Guru

ciao,
non è che magari devi impstare qualcosa che riguardi l'ftp, tipo dirgli "ftp passivo" o qualcosa del genere?
La cosa sembra abbastanza anomala...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5