Ho un'applicazione MVC con il seguente blocco interno in web.config:C# MVC: come sovrascrivere il reindirizzamento dell'autenticazione configurato?
<authentication mode="Forms">
<forms loginUrl="~/Login" timeout="2880" />
</authentication>
Quindi, se un utente richiede una pagina e l'autorizzazione non riesce, saranno reindirizzati a ~/Login.
va bene, e ne ho bisogno per la maggior parte dei miei controllori. Tuttavia, ho un controller con cui vorrei aggirare questa regola. Come posso consentire a specifici controller di ignorare questa regola?
mio problema è che nella mia applicazione MVC (che ha diversi controller), ho un certo controllo che ospita un'interfaccia REST (non inteso per l'uso del browser). Dato che questo controller non è pensato per il consumo del browser, non voglio che invii un'intera pagina di login, (o qualsiasi pagina in realtà, solo stringhe o viste parziali.)
Nota che sto usando il custom [Autorizza ...] attributi su mie azioni, e quando queste falliscono, reindirizzano ad un'azione errore - ma, purtroppo, la mia azione errore (che restituisce una stringa breve) viene reindirizzato alla pagina di login a causa di questo impostazione di configurazione!
sto ottenendo vertigini cercando di capire questo fuori, che cosa sto facendo male? Posso fornire maggiori dettagli se necessario.
State eredita da AuthorizeAttribute o implementating IAuthorizationFilter –
Ereditare da AuthorizeAttribute. –