58 messaggi dal 08 novembre 2007
Salve a tutti,avrei la necessità di criptare soltanto la password in una connection string
Ho provato con questo metodo ma cosi mi viene criptata l'intera stringa e nel mio caso non va bene

            Configuration Config = System.Configuration.ConfigurationManager.OpenExeConfiguration(Pathstring);

            ConfigurationSection ConfigSecion = Config.Sections["connectionStrings"];
            ConfigSecion.SectionInformation.ProtectSection(Cripting);
            Config.Save();
            MessageBox.Show("Cripting Eseguito");


Stavo pensando che forse dovevo spezzare il file di config inserendo da una parte l'intera stringa di connessione sotto string connection e invece poi da un altra parte creare un nuovo nodo dove vado inserire la password e cosi riesco a criptarla l'unico problema è come faccio per far leggere al datacontext il nodo della connection string con la password ora vi faccio un esempio del file di config che vorrei avere
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
     </configSections>
    <connectionStrings>
        <add name="stringa" connectionString="Data Source=mysource;User ID=myuser;Unicode=True" />
<connectionStrings>

<applicationSettings>
   <password>miappass</password
</applicationSettings>




e vorrei che la stringa finale sia
connectionString="Data Source=mysource;User ID=myuser;Unicode=True;password=miappass"


Esiste un modo per implementare questo che dico io e il datacontext legge la stringa per intera in pratica vorrei che la voce password e la voce connection string siano concatenate si può fare??

oppure vorrei una cosa del genere più semplice ma non so come realizzarla
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
     </configSections>
    <connectionStrings>
        <add name="stringa" connectionString="Data Source=mysource;User ID=myuser;password=(criptata);Unicode=True" />
<connectionStrings>





Vi ringrazio tutti per le vostre risposte spero che sono stato chiaro
Secondo me hai due strade:
- non usare il sistema di cifratura del config di .NET perché questo cripta l'intero nodo o niente, almeno nelle implementazioni originali. Fare un tuo sistema per criptare la pwd, usando magari la classe ProtectedData (che usa DPAPI) per criptare solo la password con le chiavi della macchina. Poi nel tuo codice, quando istanzi il datacontext passi tu la stringa di connessione convertendo solo la password. In aiuto ti può venire la classe SqlConnectionStringBuilder;
- scriverti un tuo ProtectedConfigurationProvider in modo che quando deve criptare il nodo della stringa di connessione sempre con il SqlConnectionStringBuilder. Guarda qua http://msdn.microsoft.com/en-us/library/system.configuration.protectedconfigurationprovider.aspx

Ciao

Il mio blog
Homepage

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.