Impostazione della pagina SSL solo sulla pagina di accesso

Voglio configurare la pagina SSL solo per la pagina di accesso. Come posso farlo? Mi riferisco a questo articolo:

http://weblogs.asp.net/scottgu/archive/2007/04/06/tip-trick-enabling-ssl-on-iis7-using-self-signed-certificates.aspx

Ma questo link imposta SSL su tutto il sito web che non è mai consigliabile. Come posso abilitarlo solo per la pagina di accesso o altre pagine in cui sono necessarie informazioni sicure. Sto usando IIS 7.5, Asp.Net 4.0

Un modo semplice è quello di verificare se la pagina è sicura quando si accede alla pagina di accesso e dopo il login per reindirarlo su una pagina non sicura.

Puoi controllare se la pagina è sicura usando questo comando

HttpContext.Current.Request.IsSecureConnection 

IsSecureConnection , in realtà controlla se l’URL inizia con https: //

Per esempio, se lo aggiungi alla pagina di login, su PageLoad o su init puoi fare il lavoro

 if(!HttpContext.Current.Request.IsSecureConnection) { Response.Redirect(Request.Url.Replace("http://","https://"),true); return; } 

Ma poi devi redirect la pagina non protetta quando lasci la pagina di accesso.

Un modo più complesso, ma più sicuro, è utilizzare un codice che controlli non solo una pagina, ma tutte le pagine si basino sulle regole. Suggerisco questo codice che uso personalmente:

http://www.codeproject.com/KB/web-security/WebPageSecurity_v2.aspx
e
http://code.google.com/p/securityswitch/

Ps L’SSL viene eseguito in parallelo con le pagine non ssl, su una porta diversa. Sta a te dove navigare i tuoi utenti. Quindi non esiste l’opzione “solo una pagina ssl”.