Per la maggior parte, la mia webapp richiede l'autenticazione per fare qualsiasi cosa. Ci sono alcune pagine, ovvero la homepage, che mi piacerebbe che le persone potessero accedere senza autenticazione.Come concedere l'accesso anonimo a un URL utilizzando FormsAuthentication?
In particolare, mi piacerebbe per consentire l'accesso anonimo a questi URL:
/home
/default.aspx
Sto usando asp.net MVC e FormsAuthentication. Entrambi gli URL puntano alla stessa vista:
/home/index.aspx
Ecco il mio attuale configurazione nel web.config.
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
Leggendo la documentazione per il tag 'autorizzazione, si dice "Consente di configurare l'autorizzazione per un'applicazione Web, controllare l'accesso dei client alle risorse URL." Sembra che dovrei essere in grado di utilizzare il tag di autorizzazione per specificare un URL e consentire l'accesso.
Qualcosa di simile:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
<authorization url="/default.aspx">
<allow users="?" />
</authorization>
<authorization url="/home">
<allow users="?" />
</authorization>
Perché la modestia e la la CW? Se si finisce per rispondere alla propria domanda e postare la soluzione non si sta solo aiutando te stesso, ma altri. Sii orgoglioso e prendi l'assegno. Grazie per aver partecipato. –
Ho davvero faticato con questo per circa 3 ore ieri dopo aver cercato su Google più risposte plausibili. Era l'ordine che sembrava fare la differenza e molte grazie per averlo evidenziato. Grazie per la pubblicazione. – nealkernohan
In MVC 4 è sufficiente consentire all'utente di selezionare il controller desiderato. Non è necessario aggiungere un accesso speciale agli stili/script/ecc. cartelle come già fatto. Sposta anche il contenuto dell'override che hai posto nel nodo system.web principale. –