209 messaggi dal 09 ottobre 2006
Ciao a tutti, finora usavo come server quello condiviso su Aruba. Da un pò ho un server virtuale e quindi creo tramite IIS i miei domini.
Ho notato che nonostante creo ad esempio la cartella "App_Data", questa di default non ha i permessi di scrittura, li devo creare io.
E' normale così? Perchè allora in locale quando creo le cartelle ASP.NET queste hanno già i permessi?

Grazie, saluti!
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao, presumo che Aruba non abbia conferito i privilegi di scrittura sulla directory principale del tuo sito all'utente con cui va in esecuzione asp.net. Come conseguenza, quando da FTP crei una directory figlia come /App_Data, essa eredita i privilegi del genitore e quindi non sarà essa stessa scrivibile.
Penso che lo facciano per aderire al principio del least-privilege, infatti un sito web non ha bisogno di scrivere su disco se non in una directory specifica (es. quella in cui fai l'upload o in cui posizioni il file di dati).

satego ha scritto:

Perchè allora in locale quando creo le cartelle ASP.NET queste hanno già i permessi?

Perché tu non hai esplicitamente negato il privilegio di scrittura alla directory principale del sito e quindi anche App_Data sarà scrivibile.

ciao

Enjoy learning and just keep making
209 messaggi dal 09 ottobre 2006
Ciao BrightSoul e grazie per la risposta.
Quindi devo creare i permessi ad ogni sitoweb con IIS?
11.886 messaggi dal 09 febbraio 2002
Contributi
Scusami, mi era sfuggito il fatto che sei su server virtuale, mi ero fissato non so come sull'idea che fossi su hosting condiviso. Chiedo perdono.

La cosa allora si può spiegare diversamente: quando sei sul tuo PC e crei le cartelle per i tuoi progetti, tu sei il proprietario di quelle cartelle e hai il completo controllo su di esse.
Quando mandi il sito in debug da Visual Studio, esso viene avviato con il server di sviluppo di Asp.Net che va in esecuzione con il tuo stesso utente. Quindi quel processo ha completa possibilità di modifica su ogni cartella da te creata.

Se il sito viene ospitato su IIS, allora va in esecuzione con l'utente del suo AppPool. Vedi questa immagine in cui si vede l'identità dell'utente assegnata all'Application pool.
E' verosimile che quell'utente non abbia il privilegio di scrittura sulla cartelle che hai creato con il tuo account. Quindi dall'Esplora risorse di Windows devi fare tasto destro sulla cartella e cliccare Proprietà e poi andare nella scheda Sicurezza. Da lì conferisci i privilegi di modifica a quell'utente lì.

satego ha scritto:

Quindi devo creare i permessi ad ogni sitoweb?

Già, devi compiere questa operazione per le cartelle /App_Data di ogni sito web.

ciao
Modificato da BrightSoul il 21 novembre 2012 20.47 -

Enjoy learning and just keep making
209 messaggi dal 09 ottobre 2006
Grazie, tutto chiaro adesso!

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.