Come faccio a fare l'opposto di [RequireHttps (Redirect = true)] in ASP.NET MVC
-
18-09-2019 - |
Domanda
So che il modo più semplice per arrivare a una pagina SSL in ASP.NET MVC - tramite il [RequireSSL] attribuire, ma io sono un po 'confuso per il modo migliore per fare il contrario.
Ho molti link sul mio sito in un bar di intestazione e la maggior parte di tali legami non richiedere SSL e io non voglio usare ancora SSL.
Il progetto a termine lo rende molto facile per reindirizzare automaticamente a una pagina SSL con [RequireSSL(Redirect=true)]
, ma Non sembra per rendere più facile per uscire da questo contesto e reindirizzare torna a http automaticamente.
Che cosa mi manca?
Soluzione
Non manca nulla; non v'è alcuna funzionalità out-of-the-box per questo. Si può facilmente creare il proprio prendendo la fonte RequireSslAttribute e modificandolo .
Altri suggerimenti
Risposta da una domanda vittima altrove:
Come passo fuori da https alla modalità http in asp.net MVC.
ATTENZIONE : se si sceglie di utilizzare questo approccio il cookie di autenticazione verrà inviato su testo normale dopo il passaggio di nuovo a HTTP, e può potenzialmente essere rubato e utilizzato da qualcun altro. Vai a questa . In altre parole - se si stesse utilizzando questo per un sito della banca si avrebbe bisogno di fare in modo che il passaggio a http sarebbe prima scollegare l'utente
.public class DoesNotRequireSSL: ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var request = filterContext.HttpContext.Request;
var response = filterContext.HttpContext.Response;
if (request.IsSecureConnection && !request.IsLocal)
{
string redirectUrl = request.Url.ToString().Replace("https:", "http:");
response.Redirect(redirectUrl);
}
base.OnActionExecuting(filterContext);
}
}
Questo è ben la pena di leggere (epecially per realizzare le implicazioni di sicurezza del passaggio incautamente torna a http
da https
:
Parzialmente SSL con ASP.NET - non MVC problemi di sicurezza specifici ma rilevanti
parziale sito SSL con ASP.NET MVC - MVC amichevole
E 'piuttosto una questione complicata complessiva. Non hai ancora trovato una vera soluzione a tutto ciò che voglio fare, ma ho pensato che questi articoli possono aiutare gli altri.