Togliere la Password da App.Config

sabato 07 maggio 2011 - 19.15

dbfabio Profilo | Newbie

Pubblicando una windows application su un website con modalità clickOnce, quando l’utente del website scarica il file e installa i sorgenti nella sua propria macchina, nella cartella di destinazione viene creato anche il file XML Configuration file nome_Windows_Application.exe.config che contiene IN CHIARO la username e la password del database che utilizzo nella windows application nella riga
<connectionStrings>
<add name="WindowsApplication_name.My.MySettings.userdbConnectionString"
connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\userdb.accdb;Persist Security Info=True;Jet OLEDBatabase Password=inchiaro"
providerName="System.Data.OleDb" />
</connectionStrings>
!
Io questo vorrei evitarlo, altrimenti tutti gli utenti conoscendo username e password potranno entrare nel db e farmi danni.
Vorrei cmq non dover rinunciare alla comodità di usare Entity Framework.

Come posso fare?

babbubba Profilo | Senior Member

Se vuoi evitarlo non devi mettere la stringa di connessione nel file config. Io di solito nel config metto nome server e nome db...la stringa me la creo al momento del bisogno nel codice.
Babbubba

www.bsoftsolutions.it

Chiedere è curiosità ... rispondere è educazione.

dbfabio Profilo | Newbie

Quello che non capisco, è come fare.
Potresti farmi un esempio?
Grazie mille

babbubba Profilo | Senior Member

E come faccio a farti un esempio? :-)

Posso provare a spiegarti come faccio io per creare una connessione ai dati...

Di solito, come ti dicevo, metto nel file config solo nome del db e ip del server, non l'intera stringa di connessione.

Quando nel codice devo inizializzare una nuova connessione creo la stringa di connessione al momento sostituendo nome e ip del server nella stringa prendendo i dati dal file di configurazione e inserendo utente e password solo nel codice. Il codice verra compilato in un oggetto contenuto in una libreria quindi non sarà piu visibile al di fuori del codice.

Certo che se devi cambiare user e pwd è un casino.

Alcuni preferiscono mettere nel file config la password e l'utente cifrati e poi usano una funzione per decriptare le stringhe nel codice.

Spero di essermi spiegato...


Babbubba

www.bsoftsolutions.it

Chiedere è curiosità ... rispondere è educazione.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5