Il problema
Una delle problematiche più comuni quando si installa per la prima volta una nuova applicazione ASP.NET MVC basata su .NET Framework 4 su server IIS 7.0 o superiore è la comparsa di un errore 403 - Forbidden come nell'esempio seguente:
HTTP Error 403.14 - Forbidden - Il server Web è configurato per non consentire la visualizzazione del contenuto dalla directory.
Oppure, nella versione in lingua inglese:
HTTP Error 403.14 - Forbidden - The Web server is configured to not list the contents of this directory.
Il testo esatto dell'errore può cambiare leggermente, ma la sostanza è la stessa: a prescindere dall'anonymous authentication correttamente impostata e/o dai permessi che abbiamo assegnato ai vari IUSR, IIS_IUSRS, NetworkService et. al., la web application si rifiuta categoricamente di mostrare il proprio contenuto.
La Soluzione
Ovviamente, per prima cosa assicuratevi che l'anonymous authentication sia impostata su enabled (icona Authentication nelle impostazioni di IIS) e che i permessi agli utenti summenzionati siano stati correttamente assegnati (a livello di filesystem). Se tutto è stato impostato correttamente, procedete ad aggiungere la seguente sezione al web.config della vostra web application:
1 2 3 |
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer> |
Provvedere, se necessario, a effettuare nuovamente il deploy e provate a lanciare nuovamente l'applicazione: il problema dovrebbe essere sparito.