Home Page Home Page Tips & Tricks Le credenziali nel Web.config

Le credenziali nel Web.config


Quando sviluppiamo siti internet dove vengono aggiornati i contenuti, di solito si crea un’area riservata dove viene dato accesso ad almeno un utente con una determinata autorizzazione.

Se gli utenti che devono accedere a quest’area, sono qualche decina creiamo un form di registrazione e gestiamo tutto tramite un database. Se invece gli utenti sono pochi, peresempio da uno a 5, e non si devono cambiare le password, trovo molto utile inserire le credenziali all’interno del web.config.

Questo tipo di approccio da' molta flessibilità all'applicazione, infatti la gestione della sicurezza viene centralizzata e delegata tutta al file web.config.
Per chi non lo sapesse le informazioni all’interno del web.config non possono essere lette perché se si prova ad accedere via http il processo ASP.NET ritorna un errore 403 che dice che non è possibile accedere a tale risorsa quindi la sicurezza è salva.

Vediamo come implementare quanto detto. Nel web.config dobbiamo aggiungere il nodo <credentials> all'interno del nodo <forms>

Codice .NET n°1
&lt;authentication mode="Forms"&gt;
&lt;forms name="miocookie" loginUrl="Amministrazione/login.aspx" protection="All" path="/"&gt;
&lt;credentials passwordFormat="Clear"&gt;
&lt;user name="user1" password="password1" /&gt;
&lt;user name="user2" password="password2" /&gt;
&lt;user name="user3" password="password3" /&gt;

&lt;/credentials&gt;
&lt;/forms&gt;
&lt;/authentication&gt;


Il nodo credentials ha un'attributo passwordFormat che ha tre possibili valori
1. Clear nessun tipo di crittografia
2. MD5 crittografiacon l’algoritmo MD5
3. SHA1 crittografiacon l’algoritmo SHA1

Dopo aver aggiunto queste righe nel nostro form di autenticazione sfruttiamo la classe FormsAuthentication che con il metodo Authenticate verifica la corrispondenza username/password confrontandola con le credenziali contenute nel file web.config.

Codice .NET n°2
If (FormsAuthentication.Authenticate(txtUser.Text, txtPassword.Text))
{
FormsAuthentication.RedirectFromLoginPage(txtUser.Text,false);
}


Una volta che le credenziali inserite vengono verificate con il contenuto del web.config e corrispondono si verrà rediretti alla pagina protetta richiesta.
Copyright © dotNetHell.it 2002-2018
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5