Ho un sito Web con alcune aree che richiedono un accesso tramite autenticazione basata su moduli, utilizzando il mio provider che si collega al database.Miscelazione autenticazione di base e autenticazione moduli in ASP.NET MVC3
Il sito Web è in anteprima, quindi voglio proteggere l'intero sito tramite l'autenticazione di base per impedire l'accesso non autorizzato prima che vada in diretta.
Il problema si verifica quando l'autenticazione di base e delle forme si trova nelle pagine pubbliche che vanno invece al login dei moduli.
Come è possibile mantenere l'autenticazione basata su moduli per l'accesso del membro e l'accesso al portale, ma proteggere l'intero sito dall'accesso pubblico prima di passare al live utilizzando l'autenticazione di base?
Grazie Alex. Ho provato ma quello ha lo stesso problema. Il problema è che tutte le pagine ASP.NET (controller) richiedono l'accesso, anche quelle che hanno l'attributo [AllowAnonymous] aggiunto, descritto qui: http://blogs.msdn.com/b/rickandy/archive/2012/03/23/ assicurare-your-asp-net-MVC-4-app-e-il-nuovo-AllowAnonymous-attribute.aspx. – DaveO
Ho usato MVC3 e ho funzionato "On My Machine", che so non aiuta. Con la configurazione di cui sopra ho un filtro LogonAuthorize: AuthorizeAttribute personalizzato che esclude alcuni controller dal richiedere il filtraggio. if (! (filterContext.Controller è AccountController)) { base.OnAutorizzazione (filterContext); }. Non sono sicuro di come questo interagirebbe con l'attributo AllowAnonymous (che userò quando mi trasferirò su MVC4). – AlexC
Ho provato ad aggiungere un assegno per il controller come hai mostrato nel codice sopra, ma ho ancora lo stesso problema :(Penso di aver bisogno di qualche modulo http o qualcosa in quanto IIS si lamenta con "Non puoi usare sia un metodo di autenticazione basato su challenge che un metodo di autenticazione basato sul reindirizzamento allo stesso tempo ".Questa è una situazione temporanea quindi non voglio scavare nella complessità dell'elaborazione di autenticazione mista o scrivere moduli http se posso aiutarlo! È strano per me che IIS /Asp.Net non può gestire un blocco globale (autenticazione di base) e l'accesso basato su moduli quando il mio login di moduli è basato su un db. – DaveO