di: Angelo Ranucci 16 Maggio 2006
A questo punto possiamo testare l'applicazione con il nuovo Web.Config e verificare che funzioni. Possiamo inoltre testare il decriptaggio e l'altro metodo di criptaggio.
Si possono proteggere quasi tutte le sezioni del Web.Config. Per verificare se una sezione è protetta, si può usare la proprietà IsProtected della classe SectionInformation. Possiamo ad esempio modificare il nostro codice in modo che operi il criptaggio solo se non è stato già operato e fare un discorso analogo per il decriptaggio.
Listato 6. Metodo Cripta() con il controllo sulla protezione già operata
public void Cripta(string protectionProvider)
{
// apriamo il file di configurazione
Configuration WebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
// specifichiamo la sezione da criptare
ConfigurationSection sezioneProt = WebConfig.Sections["connectionStrings"];
//verifichiamo di non aver già codificato
if (!sezioneProt.SectionInformation.IsProtected)
{
// specifichiamo il protection provider da applicare alla sezione da criptare
sezioneProt.SectionInformation.ProtectSection(protectionProvider);
// salviamo il file di configurazione modificato
WebConfig.Save();
Messaggio1.Text = "Web.Config criptato con " + protectionProvider;
}
else
Messaggio1.Text = "Web.Config già criptato";
}
Se abbiamo un Web.Config in cui le stringhe di connessione sono crifrate, come è il caso del listato 4, e cerchiamo di aggiungere una nuova stringa di connessione in fase di programmazione, essa verrà automaticamente cifrata, come possiamo verificare utilizzando ad esempio il metodo aggiungiStringaConnessione() riportato nel listato 7.
Listato 7. Metodo aggiungiStringaConnessione()
public void aggiungiStringaConnessione()
{
Configuration WebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
ConnectionStringSettings connStrSettings = new ConnectionStringSettings("NORTHWNDConnectionString", "Data Source=.\\SQLEXPRESS;AttachDbFilename="C:\\SQL Server 2000 Sample Databases\\NORTHWND.MDF";Integrated Security=True;Connect Timeout=30;User Instance=True");
WebConfig.ConnectionStrings.ConnectionStrings.Add(connStrSettings);
WebConfig.Save();
}
Il codice sorgente dell'esempio sviluppato in questo articolo può essere scaricato da qui.
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |