9 messaggi dal 19 febbraio 2010
Salve a tutti,
ho un'applicazione in asp.net che deve andare a leggere dei pdf da un percorso di rete.
Ho mappato l'indirizzo \\10.0.0.x in z:\\
e con this.Response.WriteFile(fileInfo.FullName + ".pdf");
vado a leggere il file.
Tutto bene in local

Quando sposto l'applicativo su Win 2008 R2 + IIS l'applicativo non va più , proprio perchè ASP:net lavola in livelli di sicurezza.

A questo punto cosa dovrei fare per fare andare l'applicazione?Che auotorizzazioni devo configurare in IIs o nel mio codice sorgente?
Grazie
L'unità logica di rete viene montata quando c'è una sessione utente attiva. Su un server questo discorso non ha senso.

Inoltre l'identity dell'Application Pool in cui gira l'applicazione rappresenta l'account con cui l'applicazione si presenta al sistema remoto dove stanno i file. Nel sistema remoto va replicato l'utente associato all'Application Pool (stessa username e password) e vanno date le corrette ACL alla cartella contenente i file per la loro lettura da parte di quell'utente.

Ciao, Ricky.
Modificato da rickyvr il 30 marzo 2010 17.20 -

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
9 messaggi dal 19 febbraio 2010
Mi potrebbe fare un esempio o indicare un esempio

se il percorso è \\10.0.0.x\\ con user kikko pws pippo come faccio da asp.net ad accedervi?

Devo creare un utente in locale sul server con medesimo username e pws?
Altro?

Posso creare un sito FTP che mi mappi la risorsa?

Grazie Davvero.
Puoi usare direttamente il percorso di rete.

Nei metodi delle classi come Path oppure FileInfo il percorso specificato può anche fare riferimento a un percorso relativo o UNC (Universal Naming Convention) per un server e un nome di condivisione. Tutti i seguenti percorsi di esempio sono validi:

1) "C:\\MyDir\\MyFile.txt" in C# o "C:\MyDir\MyFile.txt" in Visual Basic
2) "C:\\MyDir" in C# o "C:\MyDir" in Visual Basic
3) "MyDir\\MySubdir" in C# o "MyDir\MySubDir" in Visual Basic
4) "\\\\MyServer\\MyShare" in C# o "\\MyServer\MyShare" in Visual Basic

Se l'account con cui si vuole accedere alla cartella condivisa è PIPPO, questo utente va creato anche nel server web e usato come identity per l'AppPool dell'applicazione ASP.NET. Infatti l'applicazione web impersonifica l'utente del suo AppPool. Il concetto di AppPool ovviamente è valido solo per ISS 6, IIS 7 e IIS 7.5. Chiaro?

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
9 messaggi dal 19 febbraio 2010
Salve,

Da codice io passo il percorso completo della directory

es \\10.0.0.x\\share

La directory è condivisa con utente pippo pippo
Ho creato in Win 2008 R2 l'utente pippo pippo.

Vado nell'Application Pool Identity, qui cosa devo "mettere", DefaulAppPool, proprietà ...ApplicationPoolIdentity ?

Da codice devo fare qualcosa in particolare per gestire le ACL?

Grazie
Crea un application pool nuovo dedicato alla tua applicazione. Associa la tua applicazione a questo application pool. Cambia l'identity del nuovo application pool e metti come account l'utente custom (occhio che non sia un amministratore su una delle due macchine, meglio un utente a bassi privilegi). Le ACL vanno impostate sul filesystem del fileserver (in particolare, sulla cartella condivisa). Se già accedi alla cartella condivisa con l'utente in questione, allora vuol dire che le ACL sono già a posto.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it

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.