NHibernate配置连接字符串信息

时间:2010-03-11 10:27:21

标签: nhibernate connection-string

存储连接字符串信息的最佳方法是什么?

我不只是将db密码存储在NHib.config文件中。

2 个答案:

答案 0 :(得分:4)

对密码和/或连接字符串使用加密,并将加密的密码/连接字符串存储在某种配置文件中。然后在解密之后使用我的答案将连接字符串值添加到NHibernate配置对象:

How to load application settings to NHibernate.Cfg.Configuration object?

像:

nHibernateConfiguration.SetProperty( 
  NHibernate.Cfg.Environment.ConnectionString,
  Util.Decrypt(encryptedConnectionString)); 

答案 1 :(得分:2)

除非您决定使用Windows身份验证,否则一般情况下,如果要连接到使用sql登录的sql server数据库,则会输入密码。

    <connectionStrings><add name="MyDbConn1" 
       connectionString="Server=MyServer;Database=MyDb;Trusted_Connection=Yes;"/>
<add name="MyDbConn2" 
      connectionString="Initial Catalog=MyDb;Data Source=MyServer;Integrated Security=SSPI;"/>
</connectionStrings> 

您应该锁定sql server登录可以执行的权限/角色。

如果你必须使用sql server样式登录,你可以像这样加密密码..

Encrypting Connection String in web.config

或其他一些链接..

http://www.kodyaz.com/articles/Encrypting-in-web-configuration-file.aspx

http://www.codeproject.com/KB/cs/Configuration_File.aspx

http://www.velocityreviews.com/forums/t84120-how-to-encrypt-database-password-in-web-config-file.html

编辑:

要使用web.config文件中的connectionstring元素的连接字符串,这会显示..

http://www.martinwilley.com/net/code/nhibernate/appconfig.html

可选地

使用fluentnhibernate。 :)