Consentire l’autenticazione anonima per una singola cartella in web.config?

Quindi, ecco lo scenario, ho un’applicazione Asp.Net che utilizza un provider di autenticazione e appartenenza personalizzato, ma dobbiamo consentire l’accesso completamente anonimo (ad esempio) a una particolare cartella all’interno dell’applicazione.

In Gestione IIS, è ansible impostare la modalità di autenticazione di una cartella, ma le impostazioni vengono salvate all’interno del file C:\Windows\System32\inetsrv\config\applicationHost.config come descritto qui

Per rendere l’installazione più semplice, sarebbe bello se potessi impostare questo nel mio web.config ma dopo un paio di tentativi penso che questo potrebbe non essere ansible.

Qualcuno sa altrimenti?

Grazie molto

Utilizza tag di configurazione e Per consentire solo anonimi o per tutti:

          

Il primo approccio da adottare è modificare il tuo web.config usando il tag di configurazione e Per consentire l’anonimato o per tutti:

          

Se quell’approccio non funziona, puoi adottare il seguente approccio che richiede di apportare una piccola modifica all’applicazione IISHost.config.

Innanzitutto, modificare la funzione overrideModeDefault della sezione anonymousAuthentication da “Nega” a “Consenti” in C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config:

 

overrideMode è una funzionalità di sicurezza di IIS. Se override non è consentito a livello di sistema in applicationHost.config, non c’è nulla che tu possa fare in web.config per abilitarlo. Se non si dispone di questo livello di accesso sul sistema di destinazione, è necessario avviare tale discussione con il proprio provider di hosting o amministratore di sistema.

Secondo, dopo aver impostato overrideModeDefault="Allow" , puoi inserire quanto segue nel tuo web.config:

          
        

In aggiunta: se vuoi scrivere qualcosa su quella cartella attraverso il sito web, devi concedere l’authorization IIS_User alla cartella

Per farlo funzionare, costruisco la mia directory in questo modo:

Progetto pubblico limitato

Così ho modificato il mio webconfig per la mia cartella pubblica:

        

E per la mia cartella con restrizioni:

         

Spero di aver aiutato.

Ho aggiunto web.config alla cartella specifica, diciamo “Utenti” (VS 2015, C #) e il seguente codice aggiunto

         

Inizialmente ho usato il tag location ma non ha funzionato.