944 messaggi dal 11 febbraio 2013
ciao,
utilizzando entitydatamodel viene chiesto all'utente se includere o meno i dati sensibili della stringa di connessione.

In fase di sviluppo ho lasciato stare ma ora che debbo mettere on line il progetto volevo sapere quale sarebbe il modo di recuperare da codice la stringa di connessione.

grazie come sempre
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


se includere o meno i dati sensibili della stringa di connessione.

Il parametro che regola questo comportamento è Persist Security Info che va inserito nella connection string a Sql Server.
  • Se usi l'approccio code-first, aggiungere questo parametro è semplice perché nel tuo web.config troverai una normale stringa di connessione.
  • Se usi l'approccio database-first, nel web.config troverai la connection string dell'EntityClient, che comunque incorpora la connection string a Sql Server, quindi ci riuscirai facilmente anche in questo caso. Esempio di stringa di connessione:

    metadata=res://*/Models.NomeModello.csdl|res://*/Models.NomeModello.ssdl|res://*/Models.NomeModello.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;Initial Catalog=NomDb;;Persist Security Info=False;MultipleActiveResultSets=True"


In un modo o nell'altro, con Persist Security Info=False (che è l'impostazione di default), non riuscirai a risalire alla password da un oggetto SqlConnection.

Supponiamo che tu sia usando un DbContext, la connection string la puoi recuperare da codice in questo modo:
contesto.Database.Connection.ConnectionString


ciao,
Moreno

Enjoy learning and just keep making

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.